当我将第三方库(Gibraltar.Agent)添加到VB.NET项目中时,会得到与当前代码相抵触的名称空间。
例如,命名空间Gibraltar.Agent.IS使下列代码无效:
Assert.That("bla", [Is].EqualTo("bla"))作为一种解决方案,我必须完全符合条件
Assert.That("bla", Nunity.Frameworks.Is.EqualTo("bla"))"I“命名空间也很烦人,它使下列名称空间无效:
For i = 0 to 10 'valid without referencing Gibraltar.Agent
For i as Integer = 0 to 10 'needed change after adding Gibraltar.Agent如何隐藏不需要的第三方名称空间?

编辑
发布于 2011-05-06 13:20:06
这些奇怪的命名空间是由一个混淆库创建的,该库由一个较早版本的VistaDB使用,该版本是直布罗陀代理中的ILMerged。为了节省空间,混淆器将两个字符的符号替换为VistaDB名称空间。
我们去年收购了VistaDB,现在可以随意修改其内部结构和构建过程。命名空间泄漏的问题将在直布罗陀3.0中得到解决。
杰伊辛科塔
奠基人
直布罗陀软件
发布于 2011-05-06 12:26:39
您可以创建一个新的类库,并围绕您使用的包装纸功能创建Gibraltar.Agent,然后只引用这个类库,而不是从其他项目中引用Gibraltar.Agent。
也见适配器模式。
发布于 2011-05-06 12:09:16
只是不要在您的文件中Import这个名称空间。如果您在过去的某个时候激活了该命名空间以将其包含到项目设置中,则可能需要更改项目设置。
但根据文献资料的说法,这些令人反感的名字根本不存在。
https://stackoverflow.com/questions/5911064
复制相似问题