【发布时间】:2011-07-16 05:26:20
【问题描述】:
我有一个包含多个项目和多个开发人员的解决方案,每个人都有自己的环境(当然)。为了管理每个环境之间的连接字符串,我为每个环境创建了几个 app.config 文件:app.config.dev、app.config.qa 等。
预构建事件只是将 app.config.$(ConfigurationName) 复制到 app.config。这个预构建事件是针对解决方案中的每个项目完成的,并且连接字符串包含在每个项目中(包括测试项目)。
当我使用预构建事件来管理 app.config 文件时,找不到连接字符串。我可以通过 2 种方法使测试正常运行:1. 不要使用预构建事件来管理 app.config 文件选择,而是自己执行或 2. 如果我检查 app.config 并使其可写,那么预构建事件就可以正常工作了。
我们正在使用带有 VSS 的 Visual Studio 2008。
我已经到了最后一根白发了,有什么想法吗? 提前致谢!
解决方案
更新预构建事件以确保 app.config 文件即使已签入也是可写的。以下使用的预构建事件:@echo off
attrib -r $(ProjectDir)app.configif errorlevel 1 goto AttribFailed
copy $(ProjectDir)app.config.$(ConfigurationName) $(ProjectDir)app.configgoto BuildOK
:AttribFailedecho Attrib -r Failed on $(ProjectDir)app.configexit 1
:BuildOKecho Copy Done
【问题讨论】:
标签: vb.net visual-studio-2008 app-config