【问题标题】:Invoke a publish from msbuild for visual studio 2012从 msbuild 为 Visual Studio 2012 调用发布
【发布时间】:2012-08-26 15:56:43
【问题描述】:

对于 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 从命令行运行发布选项?

【问题讨论】:

标签: visual-studio-2012 web-deployment-project


【解决方案1】:

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

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

有关详细信息,请查看this post by Scott Hanselman 并查看发布部分。

【讨论】:

  • 根据您的配置,您可能还需要添加 VisualStudioVersion=11.0
  • 感谢@SebastianK 的反馈。你知道什么时候需要那个标志吗?
  • 是的,这里有关于该参数的更多信息 - 在我的情况下,这是必要的,因为 VS2010 安装在构建盒上:sedodream.com/…
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-03
    • 2014-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多