【问题标题】:AfterPublish target for sqlproj in Visual Studio 2017Visual Studio 2017 中 sqlproj 的 AfterPublish 目标
【发布时间】:2017-11-02 14:33:53
【问题描述】:

目标:在 Visual Studio 2017 中发布 SQL Server 数据库项目后运行自定义操作

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

当我在visual studio IDE中通过右键单击项目(或在项目中发布配置文件)发布项目时,它会发布数据库项目,但它不会执行此AfterPublish目标。

注意:如果我使用如下所示的 MSBuild 发布,它将成功执行 AfterPublish 目标。

msbuild mydbproj.sqlproj /t:build;publish /p:sqlpublishprofilepath=mydbproj.publish.xml

【问题讨论】:

    标签: msbuild visual-studio-2017 publish sqlproj


    【解决方案1】:

    当我在visual studio IDE中通过右键单击项目(或在项目中发布配置文件)发布项目时,它会发布数据库项目,但它不会执行此AfterPublish目标。

    根据你的描述,我也遇到了同样的问题。由于没有SQL 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 目标的Windows 窗体应用程序项目。它在 Visual Studio 和 MSBuild 命令行中运行良好。

    所以这个问题与 SQL Server 数据库项目类型更相关,我已经将此问题提交给开发者社区:

    https://developercommunity.visualstudio.com/content/problem/143641/afterpublish-target-not-work-for-sql-server-databa.html

    您可以关注您的cmets并查看此问题的反馈。

    【讨论】:

    • @101V,我也帮你投票,如果可能的话,你也可以添加你的评论并投票。对于这种情况,如果可能,您可以将 leo 建议标记为临时答案,以便遇到相同问题的其他社区成员可以轻松找到反馈。我们也会跟进我们的反馈,如果我们有任何更新,我们会在这里分享。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 2019-06-05
    • 1970-01-01
    • 2018-04-15
    • 2017-09-24
    相关资源
    最近更新 更多