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]