尝试运行客户端时收到此错误。
类型'StringPro.IMyString'在未引用的程序集中定义。
此错误来自ProgramPros文件中的StringProClient,并在下面的第一行代码中以蓝色下划线:
StringProProxy.StringProProxy proxy = new StringProProxy.StringProProxy();
解决方案里面有4个项目:
StringPro - 包含服务接口(IMyString.cs
)和实现类(MyString.cs
)的类库
StringProHost - 具有Program.cs的控制台应用程序,其中定义了Uri
,ServiceHost
,Endpoint
,ServiceMetadataBehaviour
,{{1} },HttpGetEnabled
,调用host.Description.Behaviours
并在控制台中显示有关服务启动时间的信息
StringProProxy - 我认为它是一个类库项目,因为它只有host.Open()
来定义服务的代理
StringProClient - 控制台应用程序,它在内部实例化服务的代理,调用服务的功能并显示结果。
编辑:服务主机启动正常。由于上述错误,客户端无法构建和运行。
答案 0 :(得分:2)
如果项目使用的是其他程序集中声明的类型,则必须引用此程序集 - 这基本上就是您的错误告诉您的内容。
在您的情况下,我猜测StringProClient
正在引用StringProProxy
,但它也使用StringPro
项目中声明的类型(确切地说:IMyString
接口/ class),没有引用它。您应确保StringProClient
同时引用StringProProxy
和StringPro
。
答案 1 :(得分:0)
这样的问题主要出现在像命名空间这样的问题上。请再次检查您的参考文献和名称空间。