【问题标题】:Problem with reference to another project引用另一个项目的问题
【发布时间】:2021-08-12 16:48:49
【问题描述】:

我在 TcpProtocol 命名空间中有 2 个项目(TcpClient 和 TcpServer)的 1 个解决方案。 文件夹: TestProject/source/TcpProtocol.Client/TcpClient.cs TestProject/source/TcpProtocol.Server/TcpServer.cs

我已将此添加到 TcpClient 项目中:

using static TcpProtocol.Server; // for use static values in TcpProtocol.Client.

但是当我尝试构建项目时,我收到以下错误消息: “命名空间‘TcpProtocol’中不存在类型或命名空间‘Server’(您是否缺少汇编引用?)” 这很奇怪,因为引用存在,但在引用的名称下我看到黄色三角形。

如果不是在代码中使用这样的静态写入,一切都可以正常工作: TcpProtocol.Server.port = 8008;

为什么它不适用于静态?我该如何解决?

【问题讨论】:

  • TcpProtocol.Server 可能是私有的吗?此外,如果您在参考下有黄色警告。检查您的版本是否匹配。可能存在一些不支持的依赖项。
  • 如果你的意思是类访问修饰符不,它是公共的
  • 黄色三角形(警告)可能只是框架不匹配。项目之间不同的 .NET Framework 版本可能会导致此问题

标签: c# reference


【解决方案1】:

以前从未使用过,但我会理解 docs 你必须以类型/类为目标。

您的代码示例似乎针对命名空间...

【讨论】:

  • 我添加了类名:TcpProtocol.Server.TcpServer,但无论如何都不起作用。有趣的是,当我点击命名空间错误时,我的错误下方的红线消失了,项目开始工作了。但是,如果我做了一个干净的解决方案并重新构建项目,那么当我进入这个错误的类时,错误就会出现并再次消失。
  • 是否有任何关于命名空间错误或橙色三角形的消息?也许在输出或错误视图中?
  • 除了我上面写的,没有。但是,我不知道怎么做,但是我的平台不同,所以我修复了它:配置管理器 -> 平台 -> ... -> 选择平台。
猜你喜欢
  • 1970-01-01
  • 2020-04-27
  • 1970-01-01
  • 1970-01-01
  • 2021-09-19
  • 2020-09-28
  • 1970-01-01
  • 2010-12-14
  • 2013-06-14
相关资源
最近更新 更多