我对Visual Studio 2017和C#有一个令人费解的问题。编辑器认为我的基类之一不存在。它一直在下面给我一条红色的线条,并提示找不到该类。我在两个地方都从此类继承而来,并得到相同的红色波浪线。
但是奇怪的是:
这是继承力的一个例子,给我红色的波浪线
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#解决方案。
我想我可以继续进行,因为一切都很好,但这困扰着我。我认为肯定还有其他问题。
知道这里发生了什么吗?我是否缺少明显的东西?
答案 0 :(得分:0)
即使它们使用相同的名称空间,但是如果您的对象位于不同的项目中,那么您仍要确保每个项目中使用的任何Nuget程序包或包含的程序集都运行相同的版本。发现如果一个项目运行的是其他版本,则可能会出现弯弯曲曲的线条。我以前曾经经历过。