无法通过“使用”使用命名空间

时间:2012-08-07 12:24:42

标签: c# .net wcf

我有以下工作代码(用于使用WCF服务)。

  

SecurityRoleWebService是一个名称空间。

     

SecurityWebserviceManagerImplClient是与WCF服务对应的类。

     

getSecurityRoles()是与服务操作相对应的方法。

当我将命名空间添加为

using SecurityRoleWebService 

我收到以下错误:

  

错误:找不到类型或命名空间名称'SecurityRoleWebService'(您是否缺少using指令或程序集引用?)

为什么会这样?如何克服这个?

SecurityRoleWebService.SecurityWebserviceManagerImplClient proxySecurityRole = new SecurityRoleWebService.SecurityWebserviceManagerImplClient();

        SecurityRoleWebService.SecurityRole[] roles = proxySecurityRole.getSecurityRoles(userID);

        string roleName = roles[0].roleName;

3 个答案:

答案 0 :(得分:2)

您创建ServiceReference的项目的命名空间是什么?您可能需要在使用中使用“前缀”该命名空间:

using YourNamespaceHere.SecurityRoleWebService;

答案 1 :(得分:1)

您是否在项目中引用了dll?如果没有,请右键单击您的项目,然后选择添加引用,然后选择您的dll。

答案 2 :(得分:1)

使用该类的完全限定名称空间。使用ServiceReference时,生成的命名空间为[default namespace of your project].[name of the service reference]。您必须在使用中使用此完全限定名称空间。

当你像使用new SecurityRoleWebService.SecurityWebserviceManagerImplClient();那样为类添加前缀时,你可以使用相对命名空间(相对于代码块所在的命名空间)。

当您编写一个using时,您不在具有命名空间的代码块中,因此没有要关联的命名空间。您必须使用完全限定的命名空间。