sta*_*ker 75 web-config visual-studio-2010
如何Web.debug.config
在visual studio 2010内置调试器中合并和使用?
sta*_*ker 92
这是一个已知的错误.该功能现在只能作为部署过程的一部分使用.
如果你遇到这个问题,请进行投票,所以这将尽快修复.
stu*_*uck 34
这实际上很简单,不管你信不信,这似乎是VS的设计方式.
在包含web.config的项目的.csproj文件的结束"Project"标记之前,逐字添加以下行.
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\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>
Run Code Online (Sandbox Code Playgroud)
将以下行逐字添加到包含web.config文件的项目的项目属性中的post-build事件.为您希望运行转换的每个构建配置执行此操作.
"$(MSBUILDBINPATH)\msbuild" "$(ProjectPath)" /t:Transform /p:Configuration=$(ConfigurationName);Platform=AnyCPU
xcopy "$(ProjectDir)obj\$(ConfigurationName)\Web.Config" "$(ProjectDir)". /F /R /Y
Run Code Online (Sandbox Code Playgroud)
Mar*_*esa 15
我以更简单的方式解决了这个问题,在.csproj文件的末尾添加了这个,就在标记之前.这与keitn的答案类似,区别在于它不使用post build事件.
<Target Name="BeforeBuild">
<TransformXml Source="Web.config" Transform="Web.$(Configuration).config" Destination="Web.config" />
</Target>
Run Code Online (Sandbox Code Playgroud)