目标:在visual studio 2017中发布SQL server数据库项目后运行自定义操作
问题:解决方案中有一个Server数据库项目(.sqlproj)。为了在发布项目后执行客户操作,将通过添加一个新目标来修改.sqlproj文件,如下所示。

当我在visual中右键单击项目(或在项目中发布概要文件)发布项目时,它会发布数据库项目,但它不会执行这个AfterPublish目标。
注意:如果我使用MSBuild发布,如下图所示,它成功地执行了AfterPublish目标.
msbuild mydbproj.sqlproj /t:build;publish /p:sqlpublishprofilepath=mydbproj.publish.xml发布于 2017-11-03 09:30:04
当我在visual中右键单击项目(或在项目中发布概要文件)发布项目时,它会发布数据库项目,但它不会执行这个AfterPublish目标。
根据你的描述,我也有同样的问题。由于没有用于发布Server数据库项目的详细日志输出,所以我在目标中添加了一个简单的复制任务,以确认AfterPublish目标尚未执行:
<Target Name="AfterPublish">
<Message Text="Test After Publish Target" Importance="high">
</Message>
<Copy SourceFiles="D:\Test.txt" DestinationFolder="D:\Test" />
</Target>然后我遇到了同样的问题,测试文件Test.txt只在我通过MSBuild命令行发布项目时复制。
此外,为了缩小这个问题的范围,我创建了一个具有相同AfterPublish目标的项目。它在Visual和MSBuild命令行中运行良好。
因此,此问题与Server数据库项目类型更相关,我已将此问题提交给开发人员社区:
您可以按照您的意见和检查反馈的这一问题。
https://stackoverflow.com/questions/47077850
复制相似问题