2009-06-15 1 views
3

지난 두 달 동안 저는 app.config과 관련된 몇 가지 문제가 있습니다. AppSetting 키를 추가하고 구성 파일을 읽는 데 실제 문제없이 프로젝트를 실행하면 모두 좋습니다. 그런 다음 나중에 동일한 키의 값을 변경하고 프로젝트를 실행할 때 키의 이전 값을 가져옵니다. 파일을 제대로 저장하지 못했거나 app.config 파일에 변경 사항이 있음을 감지하지 못했습니다. 솔루션을 정리하거나 다시 작성하면 문제가 없습니다. 다른 사람이이 문제를 보았습니까? 핫 픽스가 있습니까? 이것은 대개 키가 생산 환경과 테스트 환경의 차이 일 때 항상 두 번 검사해야하는 실제 문제입니다. 무서운 제 제작 환경에 테스트 메시지를 게시하기 시작했을 때 놀랍습니다. 당신이 컴파일 할 때 사전에Visual Studio 2008 App.config 캐싱

덕분에

답변

0

내가 그 재 빌드가 필요한 경우라고 생각하지 말아

0

귀하의 app.config는 빈/디버그 또는 빈/릴리스 폴더로 복사됩니다. 소스 폴더에서 app.config를 변경했지만 다시 컴파일하지 않으면 변경 사항이 전파되지 않습니다. 코드가 실제로 실행되는 폴더로 이동하려면 다시 빌드해야합니다.

대신 bin/Debug/app.config 파일을 수정하십시오.

나는 그런 경우 재 구축이 필요 , 내가 변화는 다음을 복사 할 경우 그 파일을 확인해야 컴파일마다 시간이라고 생각하지 말아. 하지만 그럴 때마다 나는 을 변경해야한다고 생각합니다. 컴파일러를 다시 작성하여 변경 사항을 인식합니다. 다시 대 당신은 다시/청소 필요가 없습니다 모든 파일 및 자료 만 파일

을 변경 내 이해 검사에서 빌드 반면 모든 출력을 수정 내 문제를 다시하고 다시 컴파일 구축, 간단히 (Build -> RebuildSolution보다는 F6) 재 컴파일하면 app.config가 전파됩니다. 하지만 최소한 코드를 다시 컴파일해야합니다.

"복사 안 함"으로 설정된 app.config 파일의 "출력 디렉토리로 복사"속성을 사용할 수 있습니까? 확인하려면 솔루션 탐색기에서 app.config를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다. 당신은 관리자 모드에서 실행하고 있습니까

O :

+0

그것의 어떤 메모를 볼 수 없음에도 불구하고 2008 마술이 내 문제를 해결하는 것 같다 대의 마지막 SP, 난 컴파일 할 때마다 그것을 확인해야합니다 그 파일을 수정 한 다음 변경 사항을 복사하십시오. 그러나 나는 내가 컴파일러가 내 변경 사항을 인식하도록 다시 작성해야 할 변경을 할 때마다 상상할 수 없다고 상상해보십시오. rebuild와 빌드 rebuild는 내 문제를 수정하고 모든 출력을 다시 컴파일합니다 내 이해에서 빌드가 파일에 대한 변경 사항을 확인하고 해당 파일 만 해제합니다. –

+0

app.config는 항상 "복사하지 않습니다"로 설정되어 있습니다. 내가 output 디렉토리에 app.config로 넣을 것이고 exe가 참조하거나 사용하지 않을 경우 appname.exe.config와 같이 dir을 출력하도록 vs 스크립트를 빌드하십시오. –

+0

좋은 지적입니다. 나는 단지 빨대에서 쥐고 있었다.나는 당신이 겪고있는 문제를 한번도 경험하지 못했습니다. 어둠 속의 또 다른 찌르다 : 프로젝트가 멀티 스레드 또는 멀티 프로세스이고 프로젝트를 다시 실행할 때 특정 스레드/프로세스가 종료되거나 재시작되지 않습니다. app.config는 시작시에만 읽히므로 계속 실행중인 프로그램에서 읽을 때 이전 값은 여전히 ​​메모리에 있습니다. – Randolpho

0

Alternativley 당신은 당신이 바로의 app.config를 편집 확실하다?