【问题标题】:Existing same reference on different dlls in .NET4.0.NET4.0 中不同 dll 上存在相同的引用
【发布时间】:2011-09-07 09:17:43
【问题描述】:

我在现有项目中添加了一个引用 (LinqBridge.dll),但引用之间存在冲突,如下所示。

错误 74 类型 'System.Action' 存在于两个 'C:\Program Files (x86)\参考 Assemblies\Microsoft\Framework.NETFramework\v4.0\mscorlib.dll' 和 'G:\Projects\Test1\Test.UI\Bin\LinqBridge.dll' G:\Projects\Test1\Test.UI\App_Code\Tools\UrlMap.cs 50 88 G:...\Test.UI\

解决此问题的最佳方法是什么?

提前致谢,

我发现了与此问题相关的内容,但我不明白我到底应该做什么。

With NAnt, How to use C# 3.0 compiler while targetting .NET 2.0 runtime?

Reference 2 dlls using the same namespace in vb.net 3.5 project?

【问题讨论】:

    标签: .net reference linqbridge


    【解决方案1】:

    你可以etern aliases。这允许您在编译项目时定义完全限定的类型。

    转到解决方案资源管理器。展开项目的 References 选项卡,以便 您可以看到引用程序集的列表。点击 您希望为其分配别名的程序集。现在看 “别名”属性的属性窗口。注意默认 价值是“全球的”。将其更改为您想要的任何内容。

    在代码中,您将使用完全限定的命名空间,使用别名来引用命名空间。

    using linqBridge::System.Action;
    

    本质上,这在编译项目时使用命令行上的/r 开关。

    /r:linqBridge=LinqBridge.dll
    

    【讨论】:

      【解决方案2】:

      您必须将 extern alias 分配给您对 LinqBridge.dll 的引用,并通过该别名在您的程序中引用其类型,例如bridge::LinqBridge.Types.Foo,或使用类似的 using 指令

      using LinqBrigdeTypes = bridge::LinqBridge.Types ;
      

      【讨论】:

        猜你喜欢
        • 2014-05-30
        • 1970-01-01
        • 1970-01-01
        • 2016-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多