【问题标题】:VS 2015 MSDeployPublish not executingVS 2015 MSDeployPublish 未执行
【发布时间】:2018-06-15 06:05:32
【问题描述】:

我正在使用 VS 2015 并尝试在发布 Web 应用程序后执行 PowerShell。我创建了一个发布配置文件,在发布模式下编译,发布方法是一个文件系统,然后在我的项目 XML 中我添加了一个目标

<Target Name="Mytarget2" AfterTargets="MSDeployPublish">
<Error Text="he name of the publish profile is $(DestinationAppRoot)">
</Error>
</Target>

所以我期待通过 Visual Studio 发布后出现错误消息,但没有得到任何东西,如果我能正常工作,我该如何调用 PowerShell 脚本?

【问题讨论】:

    标签: powershell visual-studio-2015 msbuild


    【解决方案1】:

    VS 2015 MSDeployPublish 未执行

    那是因为您从File System 发布您的项目。 File System 不支持目标“MSDeployPublish”。

    “对于文件系统协议,我们目前不支持在从 VS 发布后执行自定义目标。但是,如果您从命令行发布,目标将被执行。”

    因此,您可以使用 MSBuild 命令行通过指定目标 /t:Mytarget2 来执行此自定义目标:

    msbuild "YourSolutionFile" /t:Build,Mytarget2 /p:DeployOnBuild=true /p:PublishProfile=YourPublishFile.pubxml
    

    或者你可以在VS中更改设置以高详细度构建,看看哪个是最后一个要执行的目标,然后你可以用它代替目标MSDeployPublish,例如PipelineTransformPhase,所以自定义目标看起来像:

    <Target Name="Mytarget2" AfterTargets="PipelineTransformPhase">
      <Error Text="he name of the publish profile is $(DestinationAppRoot)">
      </Error>
    </Target>
    

    希望这会有所帮助。

    【讨论】:

    • 我将发布目标更改为“Web Deploy”,现在工作正常,我现在如何执行 powershell 文件?
    • @Ali,要执行powershell文件,可以查看以下文档了解详情:docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/…
    • @Ali,这个问题现在怎么样?你能执行PS文件吗?如果没有,请告诉我你的问题。如果是,您可以接受它作为答案。这可能对阅读此主题的其他社区成员有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 2015-12-29
    • 1970-01-01
    相关资源
    最近更新 更多