Vb.net 隐藏3方空名称空间

Vb.net 隐藏3方空名称空间,vb.net,Vb.net,当我向VB.NET项目添加一个3party库(Gibraltar.Agent)时,我得到的名称空间会干扰我当前的代码 例如,命名空间Gibraltar.Agent.IS使以下代码无效: Assert.That("bla", [Is].EqualTo("bla")) For i = 0 to 10 'valid without referencing Gibraltar.Agent For i as Integer = 0 to 10 'needed change after add

当我向VB.NET项目添加一个3party库(Gibraltar.Agent)时,我得到的名称空间会干扰我当前的代码

例如,命名空间Gibraltar.Agent.IS使以下代码无效:

  Assert.That("bla", [Is].EqualTo("bla"))
  For i = 0 to 10 'valid without referencing Gibraltar.Agent
  For i as Integer = 0 to 10 'needed change after adding Gibraltar.Agent
作为解决方案,我必须完全符合[Is]

  Assert.That("bla", Nunity.Frameworks.Is.EqualTo("bla"))
“I”名称空间也很烦人,这使得以下内容无效:

  Assert.That("bla", [Is].EqualTo("bla"))
  For i = 0 to 10 'valid without referencing Gibraltar.Agent
  For i as Integer = 0 to 10 'needed change after adding Gibraltar.Agent
如何隐藏不需要的第三方名称空间

编辑

  • 我没有添加任何直布罗陀名称空间
  • 以下情况也无济于事:

    Imports [Is] = NUnit.Framework.Is
    

只是不要在文件中导入该命名空间。如果您在过去的某个时间激活了名称空间以包含在项目设置中,则可能需要更改项目设置


但是根据我们的说法,不受欢迎的名称甚至不存在。

只是不
在文件中导入该名称空间。如果您在过去的某个时间激活了名称空间以包含在项目设置中,则可能需要更改项目设置


但是,根据我们的说法,不受欢迎的名称根本不存在。

您可以创建一个新类库,并围绕您使用的Gibraltar.Agent功能进行创建,然后只引用此类库而不是其他项目中的Gibraltar.Agent


另请参见。

您可以创建一个新的类库,并围绕您使用的Gibraltar.Agent功能进行创建,然后只需引用此类库而不是其他项目中的Gibraltar.Agent


另请参见。

这些奇怪的名称空间是由旧版本使用的混淆库创建的,该混淆库已合并到Gibraltar代理中。混淆器用两个字符符号代替VistaDB名称空间以节省空间

我们去年收购了VistaDB,现在可以自由修改其内部结构和构建过程。名称空间泄漏的问题将在直布罗陀3.0中解决

杰伊·辛库塔
创始人

这些奇怪的名称空间是由旧版本使用的混淆库创建的,该混淆库被合并到Gibraltar代理中。混淆器用两个字符符号代替VistaDB名称空间以节省空间

我们去年收购了VistaDB,现在可以自由修改其内部结构和构建过程。名称空间泄漏的问题将在直布罗陀3.0中解决

杰伊·辛库塔
创始人

不,我没有导入名称空间。我只是引用程序集,编译器错误会立即出现。当我查看“引用”下面的项目设置时,与Gibraltar相关的名称空间也没有被检查。@Robert Hmm。在这种情况下,请清除库或向维护人员投诉。这在图书馆里是不可接受的行为。@Konrad:我真的很喜欢这个产品!我看不出他们怎么做错了。该行为完全出乎意料,因为名称空间不在导入的位置。这根本没有任何意义!他们的Is类可能位于全局命名空间中,而不是Gibraltar中。代理,这将解释这是如何发生的,但没有提供任何明确的解决方案。@Patrick这将非常糟糕:-)(但我想这是一个命名空间问题,因为对象浏览器和intellisense显示了Is命名空间。)不,我没有导入名称空间。我只是引用程序集,编译器错误会立即出现。当我查看“引用”下面的项目设置时,与Gibraltar相关的名称空间也没有被检查。@Robert Hmm。在这种情况下,请清除库或向维护人员投诉。这在图书馆里是不可接受的行为。@Konrad:我真的很喜欢这个产品!我看不出他们怎么做错了。该行为完全出乎意料,因为名称空间不在导入的位置。这根本没有任何意义!可能是他们的Is类位于全局命名空间中,而不是直布罗陀。代理,这将解释这是如何发生的,但没有提供任何明确的解决方案。@Patrick这将非常糟糕:-)(但我想这是一个命名空间问题,因为对象浏览器和intellisense显示Is命名空间。)是的,这可以工作,好主意,我喜欢!我保留这个问题,因为这是一个解决办法,我想看看是否有一个解释的问题-这似乎是完全奇怪-至少从我的角度来看。是的,这将工作,伟大的想法,我喜欢它!我保留这个问题,因为这是一个解决办法,我想看看是否有一个解释来解释这个问题-这似乎完全奇怪-至少从我的角度来看。它已经消失了!我们在2012年3月31日发布的直布罗陀3.0中杀掉了所有这些。它已经消失了!我们在2012年3月31日发布的直布罗陀3.0中杀掉了所有这些。