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

本文关键字:程序 程序集 定义 引用 集中 StringPro IMyString 类型 | 更新日期: 2023-09-27 18:24:07

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

类型"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-控制台应用程序,它在内部实例化服务的代理,调用服务的函数并显示结果。

编辑:服务主机启动良好。由于上述错误,客户端将无法构建和运行。

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

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

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

这样的问题大多只出现在命名空间之类的问题上。请再次检查您的引用和命名空间