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

C# 类型';StringPro.IMyString';在未引用的程序集中定义,c#,.net,wcf,exception-handling,C#,.net,Wcf,Exception Handling,我在尝试运行客户端时收到此错误 类型“StringPro.imysting”是在未引用的程序集中定义的 此错误来自文件Program.cs中的StringProClient,并在以下第一行代码中以蓝色下划线: StringProProxy.StringProProxy proxy = new StringProProxy.StringProProxy(); 该解决方案内部有4个项目: StringPro-包含服务接口(imysting.cs)和实现类(MyString.cs)的类库 Strin

我在尝试运行客户端时收到此错误

类型“StringPro.imysting”是在未引用的程序集中定义的

此错误来自文件Program.cs中的StringProClient,并在以下第一行代码中以蓝色下划线:

StringProProxy.StringProProxy proxy = new StringProProxy.StringProProxy();
该解决方案内部有4个项目:

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

StringProHost-控制台应用程序,其中包含Program.cs,定义
Uri
ServiceHost
Endpoint
ServiceMetadataBehaviour
HttpGetEnabled
host.Description.Behavior
,调用
host.Open()
并在控制台中显示有关服务启动时间的信息

StringProProxy-我认为这是一个类库项目,因为它只有定义服务代理的
StringProxy.cs

StringProClient-控制台应用程序,在其中实例化服务的代理,调用服务的函数并显示结果


编辑:服务主机正常启动。由于上述错误,客户端无法生成和运行。

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


在您的例子中,我猜测
StringProClient
正在引用
StringProProxy
,但它也在使用
StringPro
项目中声明的类型(确切地说:
IMyString
接口/类),而没有引用它。您应该确保
StringProClient
同时引用了
StringProProxy
StringPro

这类问题主要是由于名称空间之类的问题而产生的。请再次检查您的参考资料和名称空间。

如果有效,请不要使用usre。现在我尝试运行它们并得到:
在ServiceModel客户端配置部分中找不到引用契约“StringPro.imysting”的默认端点元素。
@Bob哦,这是完全不同的错误。前一个是通用c#编译器,现在是WCF编译器。您可以查看其他SO.com问题。例如:如何从一个VisualStudio实例运行主机和客户端。因为如果我运行主机,我就不能运行客户端,因为它会禁用project viewer。如果我试图运行StringPro,它将不会运行,因为它是一个类库。@Bob。您还可以在运行第一个项目后打开project viewer,右键单击它并选择“启动实例”。这些问题可以在谷歌上搜索,与你的主要问题无关,在评论中坚持一个问题/主题是一个很好的做法。我的错。我找到了解决方案,但出于某种原因,它不允许我编辑之前的评论。谢谢你的帮助。