App.Config Ignored After Pre-Build Event

橙三吉。 提交于 2020-01-02 10:05:54

问题


I have a solution with several projects and several developers, each with their own environment (of course). To manage connection strings between each environment, I have created several app.config files for each environment: app.config.dev, app.config.qa, etc.

The pre-build event simply copies the app.config.$(ConfigurationName) to app.config. This pre-build event is done for each project in the solution, and the connection string is included in each (including the test project).

When I use the pre-build events to manage the app.config files, the connection string cannot be found. I can get the tests to run fine by 2 methods: 1. Do not use the pre-build events to manage the app.config file selection, and do it myself or 2. If I check out app.config and make it writable, then the pre-build events work just fine.

We are using Visual Studio 2008 with VSS.

I'm down to my last grey hair here, any ideas? Thanks in advance!

SOLUTION Update the pre-build event to ensure the app.config file is writable even if it is checked in. Pre-Build event used below:
@echo off

attrib -r $(ProjectDir)app.config
if errorlevel 1 goto AttribFailed

copy $(ProjectDir)app.config.$(ConfigurationName) $(ProjectDir)app.config
goto BuildOK

:AttribFailed
echo Attrib -r Failed on $(ProjectDir)app.config
exit 1

:BuildOK
echo Copy Done


回答1:


It sounds like your app.config shouldn't be under source control - just the build-configuration-specific configuration files (app.config.dev, app.config.qa, etc.).

Having said that, you can make checked-in files writable under VSS. For example, through windows explorer, uncheck the file's "Read-only" attribute. (You'll have to do this each time you check it in.)




回答2:


Leaving the .config files checked-in has one side-effect, the files stay read-only. Which has one side-effect, you cannot copy a file over a read-only file and you can't delete it. Which goes a long way towards explaining why you can't make it work.



来源:https://stackoverflow.com/questions/5319524/app-config-ignored-after-pre-build-event

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!