将引用与 VS 数据库项目中的 TF 同步
Posted
技术标签:
【中文标题】将引用与 VS 数据库项目中的 TF 同步【英文标题】:Sync references with TFs in VS database projects 【发布时间】:2017-03-21 10:09:55 【问题描述】:在 db 项目中,当您添加数据库 dac-pac 作为参考时,例如在视图中引用第三方数据库时,这似乎仅对您的本地副本有效。
在 VS 2015 中,我似乎无法找到您如何将其添加为构建,以便它与您存储在源代码管理中的版本同步并进行比较。
如果我签出一个团队项目,创建一个引用第三方数据库的视图,为该数据库创建一个 dac-pac,将其添加为数据库引用,保存、构建、签入,默认情况下该引用不是签入服务器以供其他开发人员签出最新版本,因此他们会收到参考错误。
有人知道如何同步这些吗?我找不到这样做的选项!
另外,能够编辑 dam 的东西会很好,例如,如果它们在不同的服务器上,您必须定义它。但是说服务器发生了变化,你只能在你的发布配置文件中编辑它,但是如果你这样做但其他人没有这样做,它会标记为他们的更改。
【问题讨论】:
【参考方案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 项目中有一个要引用的文件。以上是关于将引用与 VS 数据库项目中的 TF 同步的主要内容,如果未能解决你的问题,请参考以下文章
通过 dll 引用而不是 VS 中的项目引用来管理 .NET 程序集依赖项
VS2013与MySql建立连接;您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧