1

我有以下工作代码(用于使用 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;
4

3 回答 3

2

您在其中创建 ServiceReference 的项目的命名空间是什么?您可能需要在 using 中为该名称空间添加前缀:

using YourNamespaceHere.SecurityRoleWebService;
于 2012-08-07T12:41:53.227 回答
1

使用类的完全限定命名空间。当您使用 ServiceReference 时,生成的命名空间是[default namespace of your project].[name of the service reference]. 你必须在 using 中使用这个完全限定的命名空间。

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

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

于 2012-08-07T13:20:20.983 回答
1

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

于 2012-08-07T12:32:16.740 回答