【发布时间】:2016-02-23 19:37:16
【问题描述】:
我的项目 Web.config 使用以下构造在单独的文件中定义了连接字符串:
<connectionStrings configSource="ConnectionStrings.config">
</connectionStrings>
这在协作项目或部署项目时非常方便。但是,我无法让 VSO 构建工作,因为它显示了以下错误:
C:\程序文件 (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets (4105, 5) 无法复制文件 "C:\a\1\s\MyProject\ConnectionStrings.config" 因为它不是 找到了。
【问题讨论】:
-
我这边没问题。您可以检查构建日志以查看 ConnectionStrings.config 文件是否已复制到构建代理?
-
我没有将该文件添加到 git 中。 A) 密码安全 B) 我可以拥有与同事不同的数据库位置
-
部署期间需要连接字符串。为了密码安全,您可以在配置文件中加密连接字符串。要想有不同的设置连接不同的数据库,可以使用 web.config 转换。
-
当连接字符串在应用程序设置中直接在 azure 上设置并被 azure 自动覆盖时,我不确定为什么需要这样做。如果我没记错的话,他们为此创建了 configSource 选项,因此您无需将连接字符串(以任何形式)提交到源代码管理。
标签: c# build msbuild continuous-integration azure-devops