我在现有项目中添加了一个引用(LinqBridge.dll),引用与下面的内容相冲突。
错误74“C:\ Program Files”中存在“System.Action”类型 (86)\参考 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?
答案 0 :(得分:2)
你可以etern aliases。这允许您在编译项目时定义完全限定类型。
转到解决方案资源管理器。展开项目的“引用”选项卡 您可以看到引用的程序集列表。点击 您希望分配别名的程序集。现在看看 “别名”属性的属性窗口。请注意默认值 价值是“全球的”。将其更改为您希望的任何内容。
在代码中,您将使用别名来使用完全限定的命名空间引用命名空间。
using linqBridge::System.Action;
本质上,在编译项目时,它会在命令行上使用/r
开关。
/r:linqBridge=LinqBridge.dll
答案 1 :(得分:0)
您必须为LinqBridge.dll的引用分配extern alias,并通过该别名在程序中引用其类型,例如: bridge::LinqBridge.Types.Foo
,或者使用像
using LinqBrigdeTypes = bridge::LinqBridge.Types ;