13

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

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

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

msbuild /target:publish

会成功的。但这在 2012 年似乎行不通。

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

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

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

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

4

2 回答 2

17

现在似乎有一些其他选项可以从命令行发布。具体来说,现在似乎可以通过对 Visual Studio 2012 的一些 RC 更新来实现以下内容。

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

有关更多详细信息,请查看Scott Hanselman 的这篇文章并查看发布部分。

于 2013-02-27T16:02:29.293 回答
3

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

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

<MSBuild Properties="Configuration=Release;DeployOnBuild=True;" 
         StopOnFirstFailure="true" 
         Projects="$(BuildDirectory)\BigWave.ALL.sln"></MSBuild>
于 2012-08-31T21:51:05.260 回答