如何在TFS和本地计算机之间管理不同的数据库构建参考路径?

时间:2012-05-08 20:27:29

标签: visual-studio tfs build database-project

我有两个数据库项目DB_A和DB_B。项目DB_A引用DB_B。

我通过指向

的DB_B.dbschema添加了数据库引用
C:\SourceParent\DB Projects\DB_B\sql\debug\DB_B.dbschema

当我在本地计算机上构建项目DB_A时,它可以正常工作。

现在我想在我的TFS构建服务器上构建它,但是我收到以下错误

File D:\Builds\SourceParent\Build_Name\DB_B\sql\debug\DB_B.dbschema does not exist

我在构建服务器上有一个DB_B构建版本,但它位于不同的路径(构建定义不一定与项目名称匹配)。

我想我可以在构建定义中添加一个构建事件,将.dbschema文件复制到服务器上的正确位置,但我宁愿不这样做。 (这需要为每个构建定义使用特殊的构建模板。)

我是否可以通过某种方式将TFS构建点指向其他位置?或者其他一些很好的方法我可以做到这一点?

1 个答案:

答案 0 :(得分:0)

我通过创建指向我机器上的目录的环境变量$(DB_SCHEMAS)来解决这个问题(例如C:\dbschemas)。

然后我在项目DB_B中添加了一个post build事件,将DB_B.dbschema复制到$(DB_SCHEMAS)

然后我在项目DB_A中添加了一个指向$(DB_SCHEMAS)\DB_B.dbschema的数据库引用。请注意,Visual Studio将使用相对路径添加此引用。为了解决这个问题,我在解决方案资源管理器中卸载了项目,并编辑了提示路径以使用$(DB_SCHEMAS)环境变量。

现在我刚刚在TFS服务器上添加了这个环境变量,它将按预期工作。构建项目DB_B将其.dbschema文件复制到$(DB_SCHEMAS)(无论在哪里),然后构建项目DB_A引用此方案。

唯一的缺点是我的队友都必须在他们的机器上添加这个环境变量,否则他们无法在本地构建。

相关问题