2017-12-28 44 views
-1

네트워크상의 DLL을 참조하는 솔루션이 있습니다. .exe에 대한 솔루션을 빌드하면 모든 것이 잘 동작합니다.ClickOnce 매니페스트에서 참조 된 dll을 선행 조건으로 설정했습니다.

ClickOnce 응용 프로그램으로 솔루션을 게시하면 dll이 GAC에 설치되어 있지 않다는 오류 메시지가 나타납니다. 내가 매니 페스트를 볼 때 DLL에는 "install"유형의 종속성과 "전제 조건"유형이 모두 포함되어 있습니다.

<dependency> 
    <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true"> 
    <assemblyIdentity name="TXml" version="1.0.0.0" publicKeyToken="565779B9F3980A62" language="neutral" processorArchitecture="msil" /> 
    </dependentAssembly> 
</dependency> 
<dependency> 
    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="TXml.dll" size="6656"> 
    <assemblyIdentity name="TXml" version="1.0.0.0" publicKeyToken="C07302FBA7BB7B05" language="neutral" processorArchitecture="msil" /> 
    <hash> 
     <dsig:Transforms> 
     <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> 
     </dsig:Transforms> 
     <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />  <dsig:DigestValue>iI2aM7MMNzTPBWBCFhdSh9akFMtSNqw8HUItuXyf+xU=</dsig:DigestValue> 
    </hash> 
</dependentAssembly> 

나는 Visual Studio에서/ClickOnce를이 DLL이 임시 수입되어있을 가능성을 결정 궁금 해요? 게시 탭 또는 속성 아래의 응용 프로그램 파일에는 표시되지 않습니다. 이 동일한 dll은이 프로젝트에서 참조되는 다른 dll에 의해 참조됩니다. 그것과 관련이 있습니까?

분명히 TXml이 이미 설치 될 것으로 기대하고 있지만 분명히 이유가 있습니다. 이것은 몇 달 동안 일해 왔습니다. 내가 생각할 수있는 유일한 변화는 또한 TXML에 대한 참조를 가지고있는 또 다른 dll을 추가하는 것이다.

답변

0

이것은 실제로 질문에 대답하지 않지만 내 문제를 수정했다. 두 DLL에 대한 참조를 제거한 다음 TXML.dll에 대한 참조를 먼저 추가 한 다음 다른 DLL (TXML도 참조)에 대한 참조를 추가하고 정리 및 게시하여 효과를 보았습니다. TXml은 더 이상 매니페스트의 필수 조건으로 나타났습니다.