Visual Studio & SubVersion:机器特定文件怎么样
作为示例,我们有一个带有 app.config 文件的单元测试项目。 app.config 文件被配置为在我们的构建服务器上工作。 但是,如果我们想在本地运行测试(使用本地数据库),我们必须每次都更改 app.config...是否有一种方法可以永远不更改 app.config,而是使用另一个文件来覆盖应用程序。配置配置? (这样就不会有人意外地在颠覆中提交损坏的 app.config 了吗?)
(对于 web.config 当然也如此,...)
thx,Lieven Cardoen
As an example we have a Unit Test Project with an app.config file. The app.config file is configured to work on our build server. But if we want to run our tests locally (with local database) we have to change the app.config...everytime... is there a way to never alter the app.config but to have another file that overrides the app.config configuration? (so that nobody by accident commits a corrupt app.config in subversion?)
(the same off course counts for web.config, ...)
thx, Lieven Cardoen
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
appSettings 元素的“file”属性有帮助吗? (MSDN)
它允许您提供一个可以覆盖的单独文件从主 app.config(或 web.config)中选择的值。
Would the 'file' attribute of the appSettings element help? (MSDN)
It allows you to provide a seperate file that can override selected values from the main app.config (or web.config).
我可能会重新发明轮子,但您可以在 SubVersion 中创建多个 app.config 文件(app.config.release、app.config.debug),然后添加构建后事件以将这些文件复制到开发人员计算机上的 app.config。
然后,我会避免将 app.config 本身放入 Subversion,您可以使用 app.config.Production 或类似的工具来存储文件的内容。
I might be re-inventing the wheel, but you could create multiple app.config files in SubVersion (app.config.release, app.config.debug) then add post build events to copy these files to app.config on developers machines.
I would then avoid putting app.config itself in Subversion at all, you can use app.config.production or similar to store the contents of the file.
为每个配置执行必要的更改以将 app.config 中的相关部分转换为本地配置、服务器配置等的小脚本(我会在 Perl 中执行)怎么样? 您可以为每个脚本设置一个单独的项目配置,并在构建后事件中调用该脚本。
How about a small script (I would do it in Perl) for each config that performs the necessary changes to convert the relevant part(s) in the app.config to a local config, server config, etc..? You could have one separate project configuration for each script and call the script in the post build event.