在csproj上运行MSBuild不会应用web.config transofmration

在csproj上运行MSBuild不会应用web.config transofmration,第1张

概述我正在使用Team City来处理我们的部署. 所以我创建了一个MSBuild步骤来编译我们的.sln文件. 在构建之后,我在输出目录中有这三个文件: > Web.config > Web.Release.config > Web.Debug.config 这意味着msbuild任务不会转换web.config. 但是当我在visual studio中使用发布功能时,转换就完成了. 那么,msbu 我正在使用Team City来处理我们的部署.

所以我创建了一个MSBuild步骤来编译我们的.sln文件.

在构建之后,我在输出目录中有这三个文件:

> Web.config
> Web.Release.config
> Web.DeBUG.config

这意味着msbuild任务不会转换web.config.

但是当我在visual studio中使用发布功能时,转换就完成了.

那么,msbuild和发布之间的区别是什么?我如何强制我的msbuild任务转换配置?

解决方法 我在这里找到了答案

http://cgeers.com/2011/08/21/web-config-transformation-using-teamcity/

这是我的任务:

<Target name="Publish">       <RemoveDir DirectorIEs="$(DestinationPath)" ContinueOnError="true" />            <MSBuild Projects="$(SourcePath)/$(Projectfile)" Targets="Rebuild;ResolveReferences;_copyWebApplication" PropertIEs="WebProjectOutputDir=$(DestinationPath);OutDir=$(DestinationPath)\bin\" />     <transformXml Source="$(SourcePath)/Web.Config" transform="$(SourcePath)/Web.$(Configuration).config" Destination="$(DestinationPath)/Web.config" />   <ItemGroup>      <filesToDelete Include="$(DestinationPath)/Web.*.config"/>   </ItemGroup>   <Delete files="@(filesToDelete)"/></Target>

你这样称呼它

<MSBuild Projects="$(MSBuildProjectFullPath)"          Targets="Publish"          PropertIEs="Configuration=Release;Projectfile=WebProject.csproj;SourcePath=C:\webproject\;DestinationPath=C:\inetpub\wwwroot\app\"/>

谢谢

总结

以上是内存溢出为你收集整理的在csproj上运行MSBuild不会应用web.config transofmration全部内容,希望文章能够帮你解决在csproj上运行MSBuild不会应用web.config transofmration所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1053926.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存