Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与VS数据库项目中的TFs同步引用_Tfs_Database Project - Fatal编程技术网

与VS数据库项目中的TFs同步引用

与VS数据库项目中的TFs同步引用,tfs,database-project,Tfs,Database Project,在db项目中,当您添加数据库dac pac(例如,在视图中用作引用第三方数据库的引用)时,这似乎仅对本地副本有效 在VS 2015中,我可以;我似乎不知道如何将其添加为一个构建,以便它与您存储在源代码管理中的版本进行同步和比较 如果我签出一个团队项目,创建一个引用第三方数据库的视图,为该数据库创建一个dac pac,将其添加为数据库引用,保存、构建、签入,默认情况下,该引用不会签入到服务器,以便其他开发人员在最新版本中签出,因此他们将获得引用错误 有人知道如何同步这些吗?我找不到这样做的选项 此

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

在VS 2015中,我可以;我似乎不知道如何将其添加为一个构建,以便它与您存储在源代码管理中的版本进行同步和比较

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

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

此外,能够编辑dam内容也很好,例如,如果它们位于不同的服务器上,您必须定义它。但是,如果服务器发生更改,您只能在发布配置文件中编辑它,但是如果您这样做,而其他人不这样做,它将标记为对他们的更改。

您最好使用TFS版本控制。当其他人从其他机器签出时,将.dacpac文件与该db项目一起记录下来

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

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

在.sqlproj文件中:

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

注意:..\mean从.sqlproj所在的位置转到uplevel路径。它有2..\,因此需要两个级别。

这不会为其他用户添加引用?因此,假设我签出一个项目并添加一些视图,因为这些视图我需要添加一个新的数据库引用。我构建、部署并签入它。其他用户签出了该解决方案,但我添加的新引用不会为他们签出?@JQuery是的,我知道你的问题。我上面发布的内容意味着您最好将database.dacpac文件与DB项目一起签入。因为其他人在他们的机器上签出时没有该.dacpac文件可供参考,所以他们遇到了一个引用错误。如果签入.dacpac文件,然后其他人下载它,则该引用在DB项目中有一个可引用的文件。