作爲SlowCheetah的替代方案,可以通過手動編輯項目文件來處理此功能。設置起來更麻煩一些,但這確實意味着你沒有額外的DLL。
在文本編輯器中打開項目文件。在項目文件的底部,剛剛結束標記之前,包括以下內容:
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll" />
<Target Name="AfterCompile" Condition="exists('app.$(Configuration).config')">
<!-- Generate transformed app config in the intermediate directory -->
<TransformXml Source="app.config" Destination="$(IntermediateOutputPath)$(TargetFileName).config" Transform="app.$(Configuration).config" />
<!-- Force build process to use the transformed configuration file from now on. -->
<ItemGroup>
<AppConfigWithTargetPath Remove="app.config" />
<AppConfigWithTargetPath Include="$(IntermediateOutputPath)$(TargetFileName).config">
<TargetPath>$(TargetFileName).config</TargetPath>
</AppConfigWithTargetPath>
</ItemGroup>
</Target>
然後,找到你的項目文件中的行,並替換爲以下:
<ItemGroup>
<Content Include="App.config" />
<Content Include="App.Debug.config">
<DependentUpon>App.config</DependentUpon>
</Content>
<Content Include="App.Release.config">
<DependentUpon>App.config</DependentUpon>
</Content>
</ItemGroup>
你」你需要爲你添加的每一個配置添加一個額外的內容包含 - 不幸的是,這種方法你沒有得到直接的「添加變換」上下文菜單。
之後,這是一個在您的項目目錄中創建文件的情況,然後您就可以開始了。它不像SlowCheetah那樣光滑,但它確實保持了代碼的可移植性。這裏定義
你提到建立幾個app.config文件 - 可能是我正在尋找在http://stackoverflow.com/questions/12670498/slowcheetah-can-multiple-build-configs-share-one-配置轉換? :-) –