2012-02-12 60 views
0

尝试运行客户端时收到此错误。类型'StringPro.IMyString'在未引用的程序集中定义

类型'StringPro.IMyString'在未引用的程序集中定义。

此错误从文件Program.cs的来源于,StringProClient和在代码蓝色下面第一行强调:

StringProProxy.StringProProxy proxy = new StringProProxy.StringProProxy(); 

的溶液具有4个项目内:

StringPro - 包含服务接口(IMyString.cs)和实现类(MyString.cs)的类库

StringProHost - 控制台具有内部的Program.cs定义UriServiceHostEndpointServiceMetadataBehaviourHttpGetEnabledhost.Description.Behaviours,应用程序调用host.Open(),并显示在控制台的信息时,服务启动

StringProProxy约 - 我相信它是一个类库项目,因为它只有StringProProxy.cs它定义了服务的代理

StringProClient - 控制台应用程序实例化ser副主席的代理,调用服务的功能并显示结果。

编辑:服务主机启动罚款。这是因为提到的错误而无法构建和运行的客户端。

回答

2

如果一个项目正在使用在其他程序集中声明的类型,则必须引用此程序集 - 这基本上是您的错误告诉您的。

在你的情况,我猜StringProClient是referecing StringProProxy,但它也使用StringPro项目申报类型(确切的说:IMyString接口/班),没有引用它。你应该确保,即StringProClient同时引用,StringProProxyStringPro

+0

如果工作,则不需要使用。现在,我试图运行它们,并得到:'无法找到引用合同“StringPro.IMyString”在ServiceModel客户端配置section.' – Bob 2012-02-12 16:49:12

+0

@Bob那么默认终结点元素,这是完全不同的错误。前一个是一个通用的C#编译器,现在你有一个WCF。你可以检查其他SO.com问题。例如,这一个:http://stackoverflow.com/questions/352654/could-not-find-default-endpoint-element – 2012-02-12 16:53:11

+0

如何从一个Visual Studio实例运行主机和客户端。因为如果我运行的主机,因为它禁止的项目观众,我不能运行客户端。如果我尝试运行StringPro,它将不会运行,因为它是一个类库。 – Bob 2012-02-12 17:03:22

0

这样的问题大多出现在像命名空间这样的问题上。请再次检查您的参考以及名称空间。

相关问题