2009-08-26 7 views
0

최근에 내 프로그램에 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); 
       } 
      } 
     } 

와 첫 번째 실행 후 설정 섹션을 암호화합니다.

답변

0

업데이트되지 않은 구성 파일이 맞습니다.

은 몇 가지 가능성이 있습니다

  • 설치 프로그램이 설정 파일의 이전 버전을 가지고
  • 설치 프로그램은 설정 파일이없는 프로그램이 컴퓨터에 이전을 사용

먼저 프로젝트를 제거한 다음 설치하고 구성 파일이 복사되었는지 확인하십시오.

+0

이미 시도했지만 구성 파일이 복사 중입니다. 디. 응용 프로그램을 처음 제거 할 때 잘 작동합니다. 또한 현재 설정 파일을 삭제하고 나중에 업데이트 할 때도 작동합니다. –

+0

컴퓨터에 프로그램 또는 구성 파일의 사본이 여러 개 있지 않은지 확인하십시오. –

+0

방금 ​​전에 깨끗한 PC에 이전 버전을 설치하고 프로그램을 실행하고 닫은 다음 새 버전을 설치했습니다. 같은 오류가 발생했습니다. 그 후, 나는 프로그램을 제거했고 이번에는 프로그램을 실행하지 않고 동일하게 작동했다. 내 app.config 파일에 암호화 된 설정 섹션이 있습니다. 이것이 문제를 일으킬 수 있습니까? –

관련 문제