从msbuild为visual studio 2012调用发布

Joh*_*ore 13 web-deployment-project visual-studio-2012

对于VS2010,在我利用Web部署项目(WDP)帮助打包我的网站进行生产部署之前.我有一个MSBuild脚本,它在发布模式下编译了解决方案.其输出是由WDP编译和清理的生产就绪网站文件.

我看到2012年WDP已被删除,并且已在Web应用程序的属性中创建了一个新选项卡.选项是相同的,但现在通过Publish选项(在刚刚在发布模式下编译之前)调用它.

所以问题是这个.从MSBuild脚本,我如何调用发布操作?我发现了一些旧帖子......

msbuild /target:publish
Run Code Online (Sandbox Code Playgroud)

会做的伎俩.但这似乎在2012年没有奏效.

另外,我尝试了我的msbuild任务......

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

......但msbuild刚刚报道了"未知配置".

如何msbuild从命令行运行发布选项?

Nor*_*n H 17

现在似乎有一些其他选项可以从命令行发布.特别是对于Visual Studio 2012的一些RC更新,现在似乎可能出现以下内容.

msbuild mywap.csproj /p:DeployOnBuild=true;PublishProfile=MyProfileName
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请查看Scott Hanselman撰写的这篇文章,并查看有关出版的部分.


Joh*_*ore 3

我无法运行发布,但查看 Visual Studio 的输出,我认为我找到了替代解决方案。结果 obj\Release\AspnetCompileMerge 文件夹具有该项目的可部署且干净的版本。它包含与最终输出文件夹字节相同的文件。

我确实必须更改我的 msbuild 脚本以包含 DeployOnBuild 选项...

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