[英]Will the code in Azure change for the web app bot when published from VS?
[英]Why does app with embedded Adobe Reader Control work when published from VS 2013 but not VS 2017?
我的應用程序使用“ Adobe PDF Reader”控件在Windows窗體上查看PDF文檔。 它作為ClickOnce應用程序發布。 如果我使用Visual Studio 2013發布它,它將安裝並正常運行。 但是,如果我使用Visual Studio 2017發布(未對解決方案進行任何更改),它將安裝但無法運行。 它將引發此錯誤:System.IO.FileNotFoundException:無法加載文件或程序集'AxInterop.AcroPDFLib,版本= 1.0.0.0,區域性=中性,PublicKeyToken = 963d585c671a3ae6'或其依賴項之一。 該系統找不到指定的文件。
因此,我去了Visual Studio中的“發布/應用程序文件...”以包含丟失的dll,卻發現我無法包含它,因為它沒有列出。
現在在VS 2013中,在ClickOnce文件夾中發布的MANIFEST文件包含以下XML:
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="AxInterop.AcroPDFLib.dll" size="9216">
<assemblyIdentity name="AxInterop.AcroPDFLib" version="1.0.0.0" 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#sha1" />
<dsig:DigestValue>Nyyy1D0D9ublZaujf9VDo73k2Ic=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Interop.AcroPDFLib.dll" size="12800">
<assemblyIdentity name="Interop.AcroPDFLib" version="1.0.0.0" language="neutral" processorArchitecture="x86" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>ECgRqgvCeIc6FfkrboUllt0qScw=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
但是,與VS 2017一起發布時,MANIFEST文件中缺少上述XML。
同樣,請記住,這是完全相同的項目和解決方案。 我什么都沒改變。
我需要做什么才能使VS 2017發布版本包含必需的依賴項信息? 這是一個錯誤,還是我缺少什么?
謝謝!
經過幾天的調查和反復試驗,我發現了一個解決此問題的簡單方法:
然后,我使用VS 2017將我的應用程序發布為ClickOnce應用程序,並且一切正常運行。 問題解決了!
Visual Studio 2013和Visual Studio 2017發布應用程序的方式之間顯然有區別,因為VS 2013不需要此“修復”,而VS 2017則不需要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.