【发布时间】:2019-08-01 15:33:17
【问题描述】:
我有一个 asp.net 项目,每次发布后都需要运行一些代码。
我尝试使用 to 方法来完成这个:
- 使用 vs 项目文件
-
使用外部构建工具 Cake (c# make)
1.) 于是找到了一些与这个问题相关的话题:
所以就像建议的那样,我在我的项目文件中添加了以下代码:
<Target Name="BeforePublish">
<Message Text="BeforePublish"></Message>
<Warning Text="BeforePublish"></Warning>
</Target>
<Target Name="AfterPublish">
<Message Text="AfterPublish"></Message>
<Warning Text="AfterPublish"></Warning>
</Target>
<Target Name="MSDeployPublish" >
<Message Text="MSDeployPublish"/>
<Warning Text="MSDeployPublish"/>
</Target>
<Target Name="PipelinePreDeployCopyAllFilesToOneFolder" >
<Message Text="PipelinePreDeployCopyAllFilesToOneFolder" />
<Warning Text="PipelinePreDeployCopyAllFilesToOneFolder" />
</Target>
<Target Name="BeforeBuild">
<Message Text="BeforeBuild"></Message>
<Warning Text="BeforeBuild"></Warning>
</Target>
<Target Name="AfterBuild">
<Message Text="AfterBuild"></Message>
<Warning Text="AfterBuild"></Warning>
</Target>
但只有 Before- & AfterBuild 被执行。所有其他目标都被完全忽略。也许是因为这些其他主题使用 VS 2010 和 2012。在 VS 2017 中有没有可行的方法来做到这一点?
2.) 当我在任务中使用以下代码时,我得到的输出与使用 VS 编译时不同。
MSBuild(projectFile, new MSBuildSettings()
.WithProperty("OutDir", publishDir)
.WithProperty("DeployTarget", "WebPublish")
.WithProperty("DeployOnBuild", "true")
.WithProperty("WebPublishMethod", "FileSystem")
.WithProperty("Configuration", "Release")
);
因此,这也不是一个可行的解决方案。
感谢任何帮助以某种方式工作。
【问题讨论】:
-
嗨朋友,我的回答对这个问题有用吗?如果有最新消息,请随时在这里分享。
标签: c# asp.net automation msbuild visual-studio-2017