我正在使用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 脚本?
VS 2015 MSDeployPublish 未执行
那是因为您正在从File System
发布您的项目。目标 "MSDeployPublish
" 不受File System
支持。
"我们目前不支持在从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>
希望这有帮助。