2010-09-06 42 views
4

我在Web Project中调用我的业务层项目。我在Web上添加了解雇业务层项目。当我在BL项目中调用类时,我需要写两次这个名字空间。我不知道它为什么会来。为什么程序集命名空间会来两次?

MyCompanyName.HRHead.DataLayer.MyCompanyName.HRHead.DataLayer.User 

我想打电话给

MyCompanyName.HRHead.DataLayer.User 

在我的所有类的命名空间我的BL项目MyCompanyName.HRHead.DataLayer

请帮助我。

在此先感谢

回答

2

我假设你正在使用的标签的某些东西。您在其他项目中使用VB.NET编写的程序集。 VB.NET项目属性包括一个属性“默认名称空间”,并且可以使用您在类的顶部显式定义的名称空间进行设置。删除项目属性中的默认名称空间(取消选中它)并重新编译。

6

在VB中,该项目有一个默认的命名空间 - 这被作为,无论你在源写的前缀。这是而不是像C#那样的,其中项目的默认命名空间仅在添加新项目时影响源代码模板。因此,如果您的项目默认名称空间为Foo.Bar,并且您的声明了名称空间Foo.Bar.Baz,则完整名称空间将为Foo.Bar.Foo.Bar.Baz

我建议你要么改变项目设置,要么只是从源代码中删除公共前缀。

0

如果您使用的是C#,您可以使用此代码段:

using MyCompanyName.HRHead.DataLayer.User = MyCompanyName.HRHead.DataLayer.MyCompanyName.HRHead.DataLayer.User; 

所以,你可以使用的名称空间,而不是MyCompanyName.HRHead.DataLayer.User的MyCompanyName.HRHead.DataLayer.MyCompanyName.HRHead.DataLayer 。用户

问候, 亲

0

你也可以,如果你开始从全局命名空间访问命名空间在C#这样的: global::MyCompanyName.HRHead.DataLayer.User

相关问题