作为 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 那样流畅,但它确实使您的代码具有可移植性。