Visual Studio Intellisense找不到一个基类

时间:2018-08-10 16:30:37

标签: c# visual-studio-2017 intellisense

我对Visual Studio 2017和C#有一个令人费解的问题。编辑器认为我的基类之一不存在。它一直在下面给我一条红色的线条,并提示找不到该类。我在两个地方都从此类继承而来,并得到相同的红色波浪线。

但是奇怪的是:

  1. 我的应用程序运行完美。
  2. 我可以对其进行调试,并毫无问题地进入派生类和基类代码。
  3. 我仍然可以右键单击类名并转到定义,然后将其移到正确的位置。
  4. 基类和派生类都位于同一程序集中的完全相同的名称空间中。它们的源文件位于完全相同的文件夹中,并且都是公共类。
  5. 我的解决方案中的任何其他类都没有这个问题(很大)

这是继承力的一个例子,给我红色的波浪线

using System.Collections.Generic;
using Trainer.Core.Interfaces;
using Trainer.Core.ViewModels;
using Trainer.Model;
using Trainer.Sdk;

namespace Trainer.Capture.ViewModels
{
    public class CalibrationJob : JobVm // <-- RED SQUIGGLY LINE UNDER "JobVm" HERE
    {
    ... etc ...

当我将鼠标光标放在带有红色下划线的基本类名称“ JobVm”上时,我从Intellisense中收到以下错误消息

  

”找不到类型或名称空间“ JobVm”(您是否缺少   使用指令还是程序集引用?)“

这是JobVm源文件的前几行

using System.Threading;
using System.Windows.Input;
using Trainer.Core.Interfaces;
using Trainer.Core.ViewModels;

namespace Trainer.Capture.ViewModels
{
    public class JobVm 
    {
    ...

所以我尝试更改继承,以明确指定完整的基类名称

namespace Trainer.Capture.ViewModels
{
    public class CalibrationJob : Trainer.Capture.ViewModels.JobVm
    {

...,然后错误消息变得略有不同:

"The type or namespace JobVm does not exist in namespace Trainer.Capture.ViewModels"

但是它当然存在 。就在同一程序集和文件夹中。

我试图找到一种删除Visual Studio智能感知缓存的方法,但是我没有任何.SDF文件,并且看不到其他任何内容。这是一个完全的C#解决方案。

我想我可以继续进行,因为一切都很好,但这困扰着我。我认为肯定还有其他问题。

知道这里发生了什么吗?我是否缺少明显的东西?

1 个答案:

答案 0 :(得分:0)

即使它们使用相同的名称空间,但是如果您的对象位于不同的项目中,那么您仍要确保每个项目中使用的任何Nuget程序包或包含的程序集都运行相同的版本。发现如果一个项目运行的是其他版本,则可能会出现弯弯曲曲的线条。我以前曾经经历过。