【问题标题】:Using DLLs with same name but different path使用同名但路径不同的 DLL
【发布时间】:2014-12-15 01:42:51
【问题描述】:

我有一个项目,它比较在两个不同代码库中生成的输出。所以我必须在我的应用程序中使用两个同名的 DLL。我创建了两个单独的类库并将每个 DLL 添加到其中一个,然后将这些类库的引用添加到我的主项目中。当我调用第一个类库中的方法时,一切正常,并且在其引用中指定的 DLL 被正确选择。但是,当调用第二个实例时,它会从第一个实例中获取 DLL 路径,而不是在该类库中引用的路径。

如何防止这种碰撞?

【问题讨论】:

    标签: .net vb.net dll


    【解决方案1】:

    您可以完全限定您声明它们的内联名称,也可以在文件顶部的导入语句中使用别名。因此,如果您在 Namespace1.Some.ElementNamespace2.Some.Element 中有一个类 Foo,则可以通过别名执行以下操作:

    Imports alias1 = Namespace1.Some.Element
    Imports alias2 = Namespace2.Some.Element
    

    那么你会像这样使用它:

    Dim myFoo1 as new alias1.Foo()
    Dim myFoo2 as new alias2.Foo()
    

    或者您可以使用完全限定的名称,如下所示:

    Dim myFoo1 as new Namespace1.Some.Element.Foo()
    Dim myFoo2 as new Namespace2.Some.Element.Foo()
    

    有关更多信息,请查看 MSDN 上的documentation

    注意:我主要是 C# 开发人员,所以如果我的语法稍有偏差,我深表歉意。

    【讨论】:

      猜你喜欢
      • 2011-11-21
      • 2014-06-25
      • 2021-08-09
      • 2022-01-21
      • 1970-01-01
      • 2016-06-21
      • 1970-01-01
      • 2013-12-30
      • 1970-01-01
      相关资源
      最近更新 更多