【问题标题】:VS 2019 C# intellisense not suggesting references from within solutionVS 2019 C# intellisense 不建议从解决方案中引用
【发布时间】:2020-07-21 05:10:41
【问题描述】:

我是编程新手,所以我可能没有使用一些正确的术语。从同一解决方案中的另一个项目调用 C# 类时,我遇到了 InteliSense 问题。这并不是建议使用 using 语句,而是试图让我在当前项目中创建一个新类,这不是我想要的。我必须进入并添加对项目的引用,然后添加 using 语句才能访问该类。

我查看了一些在线文档,到目前为止没有任何帮助。 InteliSense 似乎已正确配置为建议使用语句。它提供的建议很好。我已经能够创建列表,然后使用它来添加正确的 using 语句以及其他一些东西。只是不想使用解决方案中的任何内容。我一直在关注几个不同的教程,包括 .net core 2.1 和 3.1,在 MVC 和 Razor 页面项目中,以及几个直接的 C# 控制台应用程序。当我开始将多个项目添加到解决方案并尝试使用当前项目外部的类时,它在其中任何一个中都不起作用。

【问题讨论】:

  • 从“包管理器控制台”,输入“dotnet restore”(

标签: c# visual-studio intellisense


【解决方案1】:

我必须进入并添加对项目的引用,然后添加 using 语句才能访问该类。

这是正确的行为。为了让 ProjectB 使用在 ProjectA 中定义的类,您必须首先添加对 ProjectA 的引用。仅将项目放在同一个解决方案中是不够的。

在同一个解决方案中拥有多个项目的目的只是为了对相关代码进行分组。这些项目实际上可能相互依赖,也可能不相互依赖。例如,一个 Web 应用程序可能有一个单独的项目用于实际的 Web UI(页面本身)、一个数据访问层、单元测试,可能还有一些用于多个项目共享代码的类库,甚至可能是控​​制台应用程序(或一些其他项目类型)用于执行后端管理任务。在这种情况下,Web UI 和控制台应用程序可能会引用数据访问层项目和/或类库。单元测试项目将有对 web UI 项目的引用,依此类推。依赖项是单向的 - 您可能没有循环引用(单元测试项目将 Web UI 项目作为依赖项,但不是另一种方式)。

【讨论】:

  • 谢尔盖你部分正确。不,您不能引用另一个项目中的类,而不必执行您引用的操作,但是 IntelliSense 确实能够查看您的解决方案中的所有项目并建议要添加的 using 语句,并且可以自行处理添加引用。尝试将列表添加到新项目中,然后选择列表关键字并按 ctrl + 。您会在弹出的菜单中注意到它建议添加一条 using 语句,它还将添加对 csproj 文件的所需引用。
猜你喜欢
  • 2021-06-16
  • 2019-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-07
  • 2021-12-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多