최근에 내 프로그램에 WCF 서비스 참조가 추가되었습니다. 이 프로그램을 새로 설치할 때 모든 것이 예상대로 작동하는 것 같습니다. 하지만, 이전 버전 (새로운 서비스 레퍼런스없이)이 이미 설치된 클라이언트에 프로그램을 설치하면이 특정 서비스에 대한 기본 엔드 포인트를 찾을 수 없다는 예외가 발생합니다.프로그램 업데이트 후 WCF 서비스가 작동하지 않습니다.
appname.exe.config가 새 끝점 설정으로 업데이트되지 않는 것 같습니다. 어떤 이유가 있습니까? 그리고 설치 프로그램이 설정 파일을 덮어 쓰게 할 수 있습니까? RemovePreviousVersions True로 설정된 Visual Studio 2008 설치 관리자 프로젝트를 사용하고 있습니다.
업데이트 : 내 프로그램은 내가의 app.config가 업데이트 될 때 새 버전을 설치하기 전에 프로그램을 실행하지 않는 다음 코드
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConfigurationSection section = config.GetSection(sectionKey);
if (section != null)
{
if (!section.SectionInformation.IsProtected)
{
if (!section.ElementInformation.IsLocked)
{
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
section.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Full);
}
}
}
와 첫 번째 실행 후 설정 섹션을 암호화합니다.
이미 시도했지만 구성 파일이 복사 중입니다. 디. 응용 프로그램을 처음 제거 할 때 잘 작동합니다. 또한 현재 설정 파일을 삭제하고 나중에 업데이트 할 때도 작동합니다. –
컴퓨터에 프로그램 또는 구성 파일의 사본이 여러 개 있지 않은지 확인하십시오. –
방금 전에 깨끗한 PC에 이전 버전을 설치하고 프로그램을 실행하고 닫은 다음 새 버전을 설치했습니다. 같은 오류가 발생했습니다. 그 후, 나는 프로그램을 제거했고 이번에는 프로그램을 실행하지 않고 동일하게 작동했다. 내 app.config 파일에 암호화 된 설정 섹션이 있습니다. 이것이 문제를 일으킬 수 있습니까? –