【问题标题】:Publish has different output when doing it from MSBuild从 MSBuild 发布时,发布有不同的输出
【发布时间】:2015-04-03 20:59:24
【问题描述】:

我目前正在尝试使用 MSBuild 设置自动发布,现在我意识到从 MSBuild 而不是 Visual Studio 执行此操作时会产生不同的输出。我不确定我在这里缺少什么,但由于某种原因,它正在将不同的项目文件复制到路由 Web 项目目录中。

有没有办法使用 MSBuild 模拟 Visual Studio 发布?我目前正在通过一个果园项目来做这件事,我认为这值得一提。

这是我目前用来执行此操作的命令:

/p:PublishProfile="exampleprofile";DeployOnBuild=true;VisualStudioVersion=12.0;
FrameworkPathOverride="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v4.5";
PublishProfileRootFolder=%WORKSPACE%\src\Orchard.Web\Properties\PublishProfiles;
Password=ExamplePass;Configuration=Release

【问题讨论】:

  • 您在使用 MSBuild 时是否尝试过使用发布任务? (/p:发布)
  • 你有这样的例子吗?有多个发布配置文件,所以我需要指定哪个

标签: visual-studio msbuild orchardcms publish


【解决方案1】:

据我所知,您正在尝试使用手动 msbuild 例程模拟 ClickOnce 发布。您可以通过使用正确的参数调用 msbuild 来实现。为了模拟 ClickOnce,您可以使用目标发布。

msbuild MyProj.csproj /t:Publish

根据您的规范,您必须能够运行多个发布配置,每个配置都有自己的输出设置。为了能够运行多个配置文件,我建议您放弃 PublishProfile 属性(我从来不明白如何让它工作)并切换到 BuildEnvironment,如下所示:

https://wallism.wordpress.com/2009/12/21/msbuild-and-multiple-environments/ (关注“设置自定义”部分)

您必须调整对 msbuild 的调用以包含您的构建环境

msbuild MyProj.csproj /t:Publish /p:BuildEnvironment=MyConfig

只是为了一个小测试,让你知道这是否有用,按照教程,创建你的目标,然后添加一个

<PropertyGroup>
    <PublishUrl> Add a custom path here </PublishUrl>
    <InstallUrl> Add the same path here </InstallUrl>
</PropertyGroup>

到您的目标文件。

然后运行 ​​msbuild,如果您解决了问题,请告诉我

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多