0

Outlook 일정을 Google 캘린더와 동기화하는 Outlook 추가 기능을 만들었습니다. 추가 기능은 테스트 및 디버깅 중에 훌륭하게 작동하지만 일단 게시되면 (One Click Manifest 사용) 오류가 발생합니다 (아래 그림 참조). 추가 기능이 오류에서 해제되어 있지 않습니다.Google.Apis 코드는 Outlook 추가 기능 게시 후 실행되지 않습니다

다음은 Google에 '로그인'하는 데 사용되는 코드입니다.

public void Create_Service() 
    { 
      credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
       new ClientSecrets 
       { 
        ClientId = "*******", 
        ClientSecret = "***********", 
       }, 
       new[] { CalendarService.Scope.Calendar }, "user", CancellationToken.None).Result; 

      service = new CalendarService(new BaseClientService.Initializer() 
      { 
       HttpClientInitializer = credential, 
       ApplicationName = "******", 
      }); 
    } 

여기에 오류가 있습니다.

디버그 및 테스트 중에는 어떤 문제가 발생하지만 게시 후 (동일한 컴퓨터 마음에) 게시하지 않는 이유는 무엇입니까?

enter image description here

답변

0

Tronal,

당신이 Outlook에서 COM 추가 기능 목록을 확인하는 기회가 있었나요? 해당 추가 기능이 활성 상태로 나열되어 있습니까?

Microsoft Office 응용 프로그램은 예기치 않게 작동하는 추가 기능을 해제 할 수 있습니다. 응용 프로그램이 추가 기능을로드하지 않으면 응용 프로그램이 하드 비활성화되거나 소프트를 비활성화 할 수 있습니다.

추가 기능에서 응용 프로그램이 예기치 않게 종료 될 때 하드 사용 안 함이 발생할 수 있습니다. 또한 추가 기능의 Startup 이벤트 처리기가 실행되는 동안 디버거를 중지하면 개발 컴퓨터에서 발생할 수 있습니다.

추가 기능에서 응용 프로그램이 예기치 않게 닫히지 않도록 오류를 생성하면 소프트 비활성화가 발생할 수 있습니다. 예를 들어 Startup 이벤트 처리기가 실행되는 동안 처리되지 않은 예외가 발생하면 응용 프로그램에서 추가 기능을 사용하지 않도록 설정할 수 있습니다.

소프트 비활성화 된 추가 기능을 다시 사용하도록 설정하면 응용 프로그램에서 즉시 추가 기능을로드하려고 시도합니다. 처음에 응용 프로그램의 소프트 비활성화를 유발 한 문제로 인해 추가 기능이 수정되지 않은 경우 응용 프로그램에서 추가 기능을 다시 사용하지 않도록 설정합니다.

자세한 내용은 MSDN의 How to: Re-enable an Add-in That Has Been Disabled 문서에서 확인할 수 있습니다.

+0

분명히해야합니다. 추가 기능을 사용할 수 없습니다. – Tronald

+0

코드를 디버깅하거나 로그 파일을 만들려고 했습니까? –

+0

마지막으로 오류 처리 방법을 변경하여 게시 한 후에 오류가 발생합니다. 나는 그것의 그림을 게시했다. 어떻게 생각해? 다시. 이 오류는 디버깅 중에 발생하지 않습니다. – Tronald

0

연구 끝에 며칠 째 마침내 문제를 알아 냈고 내 게시물 제목에 끔찍한 철자법을 깨달았습니다.

문제는 ClickOnce 설치 관리자가 필요한 dll을 모두 게시하지 않는 경우입니다. 나는 이것이 마이크로 소프트가 아직 해결하지 못한 알려진 이슈라고 생각한다. 이 문제를 해결하기 위해 수행 한 작업은 프로젝트의 모든 참조 파일을 검토하여 게시 된 폴더의 참조 파일과 비교하는 것입니다.

그런 다음 모든 누락 된 파일을 새 항목으로 직접 프로젝트에 가져 왔습니다 (참조 파일과 일치하는 프로젝트의 .dll 파일이 있었지만 문제가 해결되면이를 신경 써야하기 때문에주의가 필요함). 그런 다음 다시 게시하면 게시자가 누락 된 파일을 내보내고 모든 것이 작동하기 시작합니다. 호레이!