2009-09-08 49 views
1

我發佈此查詢again.Soory,但我不知道如何問已詢問的疑問。添加COM dll作爲特定位置的參考

我在項目中使用COM DLL作爲參考。我想要從任何計算機的位置引用該dll。

<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  <dependentAssembly>    <assemblyIdentity     name="MyAssembly"     culture=""     publicKeyToken="8968ee41e78ce97a" />    <codeBase     version="1.0.0.0"     href="file://c:/some_path/myassembly.dll" />  </dependentAssembly> </assemblyBinding></runtime> 

我在App.config文件中添加了上面提到的代碼。簽署之前未簽名的Interop.Microsoft.Office.Interop.Excel.dll後,我爲PublicKeytoken賦予了適當的值。

這我覺得很好。

但是當我運行應用程序的EXE預計DLL存在於同一個文件夾&太

的簽名版本。

任何人都可以建議我,如果有什麼我在我的代碼中缺少?

感謝, 阿米特

PS:在編碼期間,我曾加入的DLL的簽名版本的參考。從C:\ Program Files文件... \ [已經存在的DLL,微軟提供]

回答

0

這只是一種猜測而不再現您的具體情況......看來你錯過了

<bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0"/> 

在所有我見過的示例以及我對此的所有使用,上面的< assemblyIdentity ...>標記始終跟着一個< bindingRedirect ...>。順便說一句,您還可以指定爲以下範圍的原始版本:

<bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="2.0.0.0"/> 
0

我想我已經得到了解決方案。正如我在我的問題中提到的,我已經添加了舊的[無符號]版本的dll的參考。我刪除了&添加了簽名dll的引用,然後對App.config進行了更改[在我的問題中提到]。