所以我创建了一个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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)