我正在尝试实现与SQL Server 2014作为目标数据库的持续集成。
我的publish.xml
文件如下所示
TargetConnectionString>Data Source=~~~~~~~~;Integrated Security=True;Pooling=False
我的构建定义文件看起来像这样
Items to build --> Build $/First Project/Database1/Database1.sln with default platform and configuration
MSBuild Arguments -->
/t:Build /t:Publish /p:SqlPublishProfilePath=Database.publish.xml /p:VisualStudioVersion=12.0
但是当我对我的构建进行排队时,它失败并出现以下奇怪的错误。
C:\a\bin\Database1.publish.sql:无法打开源文件"C:\a\src\DB Project\Database1\Database.publish.xml"("系统找不到指定的文件。').
不知道为什么它指向C:asrc
路径,而我的项目位于不同的位置。
如果您有任何解决此问题的建议,请告诉我。
你经常在 CI 构建中看到这种情况 - c:\a\src 通常由构建服务器完成(你使用什么构建服务器?
要么 xml 文件未包含在构建中(不太可能),要么只需要调整文件的路径。
查看构建服务器,看看文件实际位于哪个文件夹下,然后调整您看到的路径,直到它可以到达它,一个小例子可能有助于解释!
MSBuild 采用路径 Database.publish.xml 并将其添加到工作目录中,以便获得:
C:\a\src\DB Project\Database1\Database.publish.xml
但是如果你在那台机器上看,也许文件实际上在:
C:\a\src\DB Project\Deploy\Database.publish.xml
因此,若要在 MSBuild 参数中修复它,请将路径更改为:
/p:SqlPublishProfilePath=..\Deploy\Database.publish.xml
这一切都取决于文件所在的文件夹,因此您只需要找到一种方法即可访问它!