添加COM dll作为从特定位置的参考

我发布这个查询again.Soory,但我不知道如何问已经询问的疑问。

我在项目中使用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出现在相同的文件夹&那也

未签名的版本。

任何人都可以build议我,如果有什么我在我的代码中缺less?

谢谢,阿米特

PS:在编码过程中,我添加了未签名版本的dll的引用。 从C:\ Program Files文件… \ [已有的DLL,微软提供]

这只是一个猜测,没有再现你的确切情况…看来你错过了

  <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"/> 

我想我已经得到了解决scheme。 正如我在我的问题中提到的,我已经添加了旧的[无符号]版本的DLL的参考。 我删除了已签名的dll的引用,然后对App.config进行了更改[在我的问题中提到]。