如何在C#中为DLL提供别名

本文关键字:别名 DLL 中为 | 更新日期: 2023-09-27 18:24:34

我在C#项目中添加了一个DLL"first.DLL"作为引用,该项目反过来使用另一个遗留DLL"second.DLL"

"first.dll"要求"second.dll"位于同一文件夹中。如果我把"second.dll"移到另一个文件夹,那么"first.dll"就会出错。

有没有一种方法可以在我的应用程序中定义"second.dll"路径?

我无法访问这两个DLL的源代码。

如何在C#中为DLL提供别名

您可以尝试在应用程序配置中使用<codebase>(假设second.dll是.NET程序集)

链接文章示例:

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
       <dependentAssembly>
          <assemblyIdentity name="myAssembly"
                            publicKeyToken="32ab4ba45e0a69a1"
                            culture="neutral" />
          <codeBase version="2.0.0.0"
                    href="http://www.litwareinc.com/myAssembly.dll"/>
       </dependentAssembly>
    </assemblyBinding>
 </runtime>

我根据需要的程序选择DLL来解决这个问题。一个简单的IF条件就成功了。