【发布时间】:2014-08-24 06:12:28
【问题描述】:
我正在处理一个项目(由一个小团队通过 SourceSafe 源代码控制共享),其中包含四个 .config 文件:
-
App.config是程序执行时最终使用的配置文件。 - 其他三个文件本质上是模板,我可以快速复制并粘贴到
App.config。 -
App.Integration.config和App.Release.config对所有团队成员有效。例如,它指的是网络上的集成或生产数据库服务器。 -
App.Debug.config是一个模板,其设置仅对我的机器有效,例如因为它引用了我的本地开发数据库副本。
背景:为什么我要手动管理多个配置文件? ASP.NET Web 项目自动支持多个配置文件,但其他项目类型不支持。我也知道这可以通过将自定义 MSBuild 任务添加到项目文件来自动化;但是,这可能会破坏或混淆后面的构建步骤,例如 ClickOnce 部署。
显然,我不想将“我的”本地版本的 App.Debug.config 签入 SourceSafe,这就是我告诉 Source Safe 忽略该文件的原因。出于同样的原因,我让 SourceSafe 忽略 App.config,因为该文件通常会被编辑,例如从本地配置文件切换到集成环境的版本时。如果每个人都签入他们的这些文件的版本,那么所有其他开发人员都会看到它们。
但是,如果我理解正确,这会导致 SourceSafe 不再保留这些文件的副本,因此如果有人签出项目的新副本,这两个文件将会丢失。
有没有办法获得例如的“初始”副本? App.config 在我的 SourceSafe 存储库中,但同时阻止 Visual Studio 在开发人员本地编辑该文件时检出该文件?
背景:我为什么要使用 SourceSafe?这不是我的决定,我在短期内无能为力。
【问题讨论】:
标签: visual-studio-2010 app-config visual-sourcesafe