我有两个数据库项目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构建点指向其他位置?或者其他一些很好的方法我可以做到这一点?
答案 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引用此方案。
唯一的缺点是我的队友都必须在他们的机器上添加这个环境变量,否则他们无法在本地构建。