我怎么能让每个开发有自己的,私人的,web.config
本文关键字:config web 自己的 怎么能 开发 | 更新日期: 2023-09-27 17:51:20
假设一群开发人员正在开发一个ASP.net web应用程序。每个开发人员都有一个DB的私有副本,运行在他们私有的本地DB引擎上,因此每个开发人员都有不同的连接字符串。
目前,每个开发人员都有web。配置修改了他们的连接字符串,偶尔这些修改中的一个被提交到源代码管理,这是不好的。
我怎么能有一个默认的网页。配置在源代码控制,让每个开发有自己的私人副本,被源代码控制忽略?(我更喜欢一个避免web的解决方案。如果可能的话配置转换文件,因为它们的语法有点不透明)。
有几件事可以帮到你。
-
强制所有开发人员遵循的约定。例如,Sql Server实例名、数据库名等在所有开发人员的机器上应该是相同的,这样你就不需要更改它们。此外,任何文件位置类型的设置都应始终与项目或某些系统位置相关。总的来说,这个想法是保留你的设置,这样开发人员就不需要签出和更改任何东西。
-
在某些情况下,执行上述操作可能是不可能的。在这种情况下,您可以将这些更改设置移动到另一个文件中,并在您的web中引用它。使用'configSource'配置。然后,开发人员可以根据本地机器环境更改该设置文件。此外,在这种情况下,您希望确保不是团队中的每个人都可以签入该文件,以防止不必要的重写。
希望能有所帮助。
在我们的项目中,我已经设置了一些东西,以便在源代码控制下默认配置为web.config.template
,而web.config
本身被忽略。然后开发人员简单地将web.config.template
复制为web.config
;并进行他们需要的任何本地编辑。
这很简单,可以手工操作,但也可以使用MSBuild自动复制(仅在web.config
不存在的情况下复制)。
如果你有一个CI/build服务器,那么你可能也想采取web.config.template包含在CI构建中使用的配置的方法-这样你的CI构建就简化了,因为它总是可以用web.config.template
覆盖web.config
。