调用MSBuild中发布的Visual Studio 2012(Invoke a publish f

2019-07-31 07:30发布

对于VS2010之前我利用Web部署项目(WDP)来帮助包装我的网站进行生产部署。 我有这样的编译发布模式解决方案的MSBuild脚本。 这方面的一个输出是由WDP编译和清洁生产准备的网站文件。

我看到2012 WDP已被删除,而一个新的标签已在Web应用程序的属性被创建。 这些选项是相同的,但是现在的这个调用通过发布选项来完成的(你只是在释放模式编译之前)。

所以,问题是这样的。 从一个MSBuild脚本,我怎么调用发布操作? 我发现了一些老帖子说...

msbuild /target:publish

会做的伎俩。 但是,这似乎并没有在2012年的工作。

另外,我想在我的MSBuild任务...

<MSBuild Properties="Configuration=Publish;" 
         StopOnFirstFailure="true" 
         Projects="$(BuildDirectory)\MySolution.sln"></MSBuild>

...但msbuild只是报“未知的配置”。

怎样才可以有msbuild运行命令行的发布选项?

Answer 1:

看来,现在有从命令行发布一些其他的选择。 具体内容大致如下线的东西现在看来可能有些RC更新到Visual Studio 2012。

msbuild mywap.csproj /p:DeployOnBuild=true;PublishProfile=MyProfileName

欲了解更多详情请查看这篇文章由Scott Hanselman在和退房出版的部分。



Answer 2:

我是不是能够得到发布运行,但看着从Visual Studio输出我想我已经找到了一个替代的解决方案。 原来,OBJ \发布\ AspnetCompileMerge文件夹中有该项目的部署和干净的版本。 它包含字节相同的文件到最终输出文件夹。

我不得不改变我的MSBuild脚本包括DeployOnBuild选项...

<MSBuild Properties="Configuration=Release;DeployOnBuild=True;" 
         StopOnFirstFailure="true" 
         Projects="$(BuildDirectory)\BigWave.ALL.sln"></MSBuild>


文章来源: Invoke a publish from msbuild for visual studio 2012