【发布时间】:2017-06-02 20:46:58
【问题描述】:
我正在使用 Nant 生成我的 web.config 文件以构建我的项目。这意味着团队中的每个开发人员都会根据模板自动生成他们的 web.config 文件。
结果是每次有人构建生成的 web.config 时 dat 都会显示为挂起的更改。以前我们会从 TFS(Visual Studio 在线托管)服务器中删除 web.config,因此源代码管理不会将 web.config 视为需要签入的文件。但是,由于我们现在需要源代码管理中的 web.configs 才能成功构建(之前不是在服务器上构建),因此再次需要 web.configs。
试过了:
- .tfignore,如果 web.config 在源代码管理中则不起作用。
- 在 TFS 中隐藏,仅适用于文件夹,不适用于单独的项目
- 本地工作区隐藏,现在可以了。但是它需要每个开发人员手动配置/隐藏很多文件,这是非常不实用的。
- 将生成的配置保留在排除的更改中,这很有效,但它非常混乱,并且很容易与其他排除的更改出错。
- 设置权限,什么都没做。
【问题讨论】:
-
典型的方法是将模板文件提交到源代码管理,使用与模板相关的名称,然后在本地构建副本并修复实际的配置文件,这样您就可以安全地将模板更改提交到源代码控制并忽略实际的配置文件。无法让源代码控制工具对同一个文件进行计数并忽略不相关的更改,因为它不知道什么是相关的或不相关的。
-
对,但问题是,由于生成的 web.config 是在项目定义文件中定义的,因此构建服务器将查找它们。使用 .tfignore 之类的解决方案会起作用...但不会,因为它要求特定文件不在源代码管理中。
-
您将更改构建脚本以执行配置文件的相同本地生产。
-
有道理,我会调查一下。
-
@user2713516 你解决了这个问题吗?
标签: .net visual-studio-2015 tfs azure-devops nant