【问题标题】:dll reference conflict issuedll引用冲突问题
【发布时间】:2014-08-01 19:04:19
【问题描述】:

我在我的项目中使用了两个第三方 facebook dll,它们都有不同的用途但具有相同的名称“facebook.dll”。在添加引用时,我发现同名冲突,所以我将一个 dll 的名称更改为“facebookpost”并添加了它的引用。我知道只需更改该 dll 的名称并没有任何区别。但我需要在我的项目中使用这两个 dll。我怎样才能做到这一点?

我尝试了以下但没有运气

<?xml version="1.0"?>
 <configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="ClassLibrary1" publicKeyToken="fbc28d9ca2fc8db5" />
    <publisherPolicy apply="no" />
    <bindingRedirect oldVersion="1.0.0.0" newVersion="1.1.0.0" />
  </dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

更新: 我有一些如何设法使用“外部别名”获取对 faceook.dll 的外部引用,但我收到一个错误“/reference 选项中未指定外部别名”

更新 通过遵循 The extern alias 'xxx' was not specified in a /reference option 中的 Orca 方法,我解决了“未在 /reference 选项中指定外部别名”的问题。但现在以这个新错误结束 - “无法加载文件或程序集 '[MyAliasName]' 或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。”

【问题讨论】:

    标签: c# facebook dll


    【解决方案1】:

    DLL 需要有不同的 AssemblyName。在内部编译。如果名称相同,则需要使用不同的密钥进行签名以避免冲突。

    如果您有相同的命名空间,可能必须通过反射来使用这些类型。我不知道是否有办法为从 C#/.NET 中的程序集导入创建特定的命名空间别名。

    【讨论】:

    • 嗨,埃里克,感谢您的回复。我尝试使用外部别名技术来避免这个问题。通过这种技术,我能够引用两个库文件而没有任何冲突。但是现在出现一个与 Extern 使用有关的错误“The extern alias was not specified in a /reference option”
    • 是的,Eric,之后我可以使用我的新 dll 别名调用方法。但是当我运行我的项目时,我得到“无法加载文件或程序集'[MyAliasName]'或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。”错误
    猜你喜欢
    • 2015-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多