【问题标题】:Sync references with TFs in VS database projects将引用与 VS 数据库项目中的 TF 同步
【发布时间】:2017-03-21 10:09:55
【问题描述】:

在 db 项目中,当您添加数据库 dac-pac 作为参考时,例如在视图中引用第三方数据库时,这似乎仅对您的本地副本有效。

在 VS 2015 中,我似乎无法找到您如何将其添加为构建,以便它与您存储在源代码管理中的版本同步并进行比较。

如果我签出一个团队项目,创建一个引用第三方数据库的视图,为该数据库创建一个 dac-pac,将其添加为数据库引用,保存、构建、签入,默认情况下该引用不是签入服务器以供其他开发人员签出最新版本,因此他们会收到参考错误。

有人知道如何同步这些吗?我找不到这样做的选项!

另外,能够编辑 dam 的东西会很好,例如,如果它们在不同的服务器上,您必须定义它。但是说服务器发生了变化,你只能在你的发布配置文件中编辑它,但是如果你这样做但其他人没有这样做,它会标记为他们的更改。

【问题讨论】:

    标签: tfs database-project


    【解决方案1】:

    你最好add the .dacpac file 到 TFS 版本控制。当其他人从其他机器签出时,将 .dacpac 文件与该 db 项目一起下载。

    确保当其他人将该文件和 db 项目检出到他们的本地计算机时,它们之间的相对路径与您的环境中的相同。实际上,在您的 db 项目的 .sqlproj 文件中,它已经定义了关系。

    例如,我将 .dacpac 文件放在名为“DACPAC”的文件夹下,该文件夹与我的解决方案文件夹处于同一级别。

    在 .sqlproj 文件中:

    <ArtifactReference Include="..\..\DACPAC\TestDB.dacpac">
          <HintPath>..\..\DACPAC\TestDB.dacpac</HintPath>
            ......
     </ArtifactReference>
    

    注意:“..\”表示从 .sqlproj 所在的上层路径。它有 2 个“..\”,所以要升级 2 个。

    【讨论】:

    • 这不会向其他用户添加引用吗?
    • 所以,假设我签出一个项目并添加一些视图,因为这些视图我需要添加一个新的数据库引用。我构建并部署它并将其签入。另一个用户签出该解决方案但我添加的新参考不会被签出?
    • @JQuery 是的,我知道你的问题。我在上面发布的内容意味着您最好将该数据库 .dacpac 文件与您的数据库项目一起签入。因为其他人在他们的机器上签出时没有该 .dacpac 文件可供参考,所以他们遇到了参考错误。如果您签入 .dacpac 文件,然后下载它,则该引用在 DB 项目中有一个要引用的文件。
    猜你喜欢
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    相关资源
    最近更新 更多