Microsoft MVP성태의 닷넷 이야기
clickonce manifest 파일 질문 [링크 복사], [링크+제목 복사],
조회: 19733
글쓴 사람
lunacy80
홈페이지
첨부 파일
 

visual studio 2008로 작성된 winform 어플리케이션을 clickonce를 사용하여 배포하고 있습니다.

visual studio에서 게시를 진행하면 xxxx.exe.manifest 와 같은 manifest 파일이 생성되는데
개발환경을 다른 PC에 구축하고 게시를 진행하니 manifest에 아래와 같이 전에는 없던 dependentAssembly 요소들이
생겼습니다. (해당 어셈블리들은 개발PC의 GAC에 등록되어 있는 어셈블리이기는 하지만 어플리케이션의 동작과는 무관한 놈들입니다)


  <dependency>
    <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
      <assemblyIdentity name="Microsoft.VisualStudio.Shell.Interop" version="7.1.40304.0" publicKeyToken="B03F5F7F11D50A3A" language="neutral" />
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
      <assemblyIdentity name="Microsoft.VisualStudio.Shell.Interop.8.0" version="8.0.0.0" publicKeyToken="B03F5F7F11D50A3A" language="neutral" />
    </dependentAssembly>
  </dependency>
... ... ...


덕분에 사용자 PC에서 프로그램 설치를 진행하면 GAC에 해당 어셈블리 등록이 필요하다며 설치가 진행되지 않습니다.
아래 요소들을 manifest에서 삭제하고 싶은데 manifest파일을 편집기에서 수정을 하면 다음과 같은 예외가 발생하더군요.
-> 매니페스트를 읽는 동안 예외가 발생했습니다. 매니페스트가 잘못되었거나 파일을 열 수 없습니다.

애초에 clickonce manifest의 dependentAssembly 요소가 어떤 원리로 등록이 되는건지 그리고 assemblyIdentity 요소를 제거할 수 있는 방법이 있는지 등을 알고 싶습니다.








[최초 등록일: ]
[최종 수정일: 7/19/2016]


비밀번호

댓글 작성자
 



2016-07-19 12시11분
해당 WinForm 응용 프로그램과 그것이 참조하고 있는 프로젝트 중에 ...Shell.Interop 어셈블리 참조가 없는데도 그런 건가요? 혹은, 빈 WinForm 프로젝트부터 시작해서 그것들이 걸리는 시점을 확인해 보는 것도 좋겠고요.
정성태

NoWriterDateCnt.TitleFile(s)