所以这是我的问题.
我的(测试)项目引用了Castle Windsor和Rhino Mocks.
我正在创建一个从Castle.Core.dll程序集实现Castle.Core.Interceptor.IInterceptor的类
在构建Rhino Mocks时,Ayende使用了Castle.Core.Interceptor并在Rhino.Mocks.dll中包含了整个darn命名空间.
所以当我尝试构建时,我得到了错误
类型'Castle.Core.Interceptor.IInterceptor'存在于'c:...\Libraries\Rhino.Mocks.dll'和'c:...\Libraries\Castle.Core.dll'中
那么我如何指定我想使用Castle.Core.dll中的IInterceptor实例而不是Rhino Mocks中包含的实例?
让我们在这里抛出具体的答案,以防有人后来出现.来自这里的文章.
在项目引用下选择两个程序集中的一个(在我的例子中,我选择了Castle.Core).点击F4调出属性并输入别名CastleCore
在有问题的cs文件顶部放置 extern alias CastleCore;
用你的班级参考CastleCore::Castle.Core.Interceptors.IInterceptor
.或者在我的情况下,我只是做了:
使用cci = CastleCore :: Castle.Core.Interceptors;
现在可以参考了
cci.IInterceptor
您可以使用a extern alias
来对其中一个程序集进行别名以防止出现歧义.