我试图使用的TransformXML任务中获得的一杆而不管在Visual Studio中选择的构建配置的转化的所有配置。 我可以通过编辑.csproj的文件来实现它,这里是它。
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll"/>
<Target Name="TransformWebConfig" AfterTargets="AfterPublish">
<TransformXml Source="$(SolutionDir)WCFServices\Web.config"
Transform="$(SolutionDir)WCFServices\Web.Release.config"
Destination="$(OutDir)WebRelease.config"
StackTrace="true" />
</Target>
这里的问题是,而我做了发布,转换后的配置文件被放置在输出目录,但在执行删除操作前发生这种情况。 我需要的CONFIGS的删除操作后进行变换。
请指教?
当心的MSBuild和VSBuild确实不同。 Afterpublish是非常有限的
尝试有保存的MSBuild发射SLN同样在这里 。
您是否已经验证该文件得到在预期时间转变? 添加在<message importance="high" text="Doing Custom Transform" />
您的TransformXML调用之前,那么另一条带不同的文本Finished Custom Transform
这个调用之后。 这篇文章能直接打动你的愿望做涉及专业出版目标的事情。
一般的MSBuild调试信息:
但愿这种行为的MSBuild依赖,而不是VSBuild,因为两个构建过程不同。 如果你是幸运的,这是遵循同样的行为的MSBuild将遵循的MSBuild调试过程:
正如在任何的MSBuild神奇的行为,在你CSProj
文件中寻找任何import target=
代码去查找这些文件。 通过以下这些会导致你即拍任何关于这个决定的部分。
你还可以将VS的调试器,编译过程- http://blogs.msdn.com/b/visualstudio/archive/2010/07/06/debugging-msbuild-script-with-visual-studio.aspx + HTTP:/ /blogs.msdn.com/b/visualstudio/archive/2010/07/09/debugging-msbuild-script-with-visual-studio-2.aspx
确定构建顺序
此外,在杀青构建冗长暂时http://blogs.msdn.com/b/msbuild/archive/2005/09/29/475157.aspx