编辑:更加精细的方法可以在SO发现: Use Visual Studio web.config transform for debugging
我曾评论,我也希望此功能,但没有找到一个办法做到这一点呢。然后决定有一个快速谷歌。
讨论here具有使我由cmac3095提供一个可能的解决方案:
我不惹MSBUILD那么多 但我的解决方案是一个自定义的 目标添加到XXX.Web。这的csproj做 变换,然后添加自定义 “后建设”事件到 XXX.Web.csproj是调用MSBUILD (执行变换)和 XCOPY到转化 web.config中比原先复制。一边 效果是,因为我们有TFS,它 总是包含最后的web.config 该转化可以是 位usettling(你一直在想一个 您的其他开发人员已经 覆盖您的设置 - 其中,在 的意义上,它们有; - )....但是,当然,您的设置都在 web.xxxxxx.config中,您可以使用 进行转换。好的,足够的解释。
这里是你做什么: 这种复制并粘贴到你XXXX.Web.csproj只是 注释掉 “目标 NAME =” BeforeBuild”元素之上...
<UsingTask TaskName="TransformXml"
AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll"
/> <Target Name="Transform">
<MakeDir Directories="obj\$(Configuration)"
Condition="!Exists('obj\$(Configuration)')"
/>
<TransformXml Source="Web.Config" Transform="Web.$(Configuration).config"
Destination="obj\$(Configuration)\Web.config"
StackTrace="true" /> </Target>
<Target Name="AfterBuild">
</Target>
这就是它关于你的xxx.web.config的未来建设 ,后建 将运行自定义的目标和 产生转化的web.config该 XCOPY将覆盖现有的。
感谢您的回答...我认为它会更简单。就像一个视觉工作室的菜单.. ;-) – bAN
在MS的防守中,这个过程有很多反驳的论点。我确实看到在未来VS版本中提及它作为一个功能,但不是在官方文章中,所以不要引用我的话。 – Smudge202