预定义类型'System.Object/String'未定义或未导入。

4
我在Visual Studio 2017中创建了默认的ASP.NET Core MVC应用程序,但是出现了100多个错误和44个警告。这些错误包括:
  1. 预定义类型“System.Object”未定义或未导入
  2. 预定义类型“System.String”未定义或未导入
  3. 预定义类型“System.Int32”未定义或未导入
我尝试了以下方法来解决这些问题: - 重新启动和重新安装VS - 删除bin和obj文件夹 - 重新构建项目 - 通过“dotnet restore”命令在VS中重新打开项目
项目链接:https://github.com/martin-petrov03/Demo/tree/master/Ex

看最少的常见错误。如果你有那么多的错误,说明某些东西使解析混乱得如此严重,以至于它甚至无法告诉你错误出现在哪里。 - Christopher
然后创建一个空项目并展示给我们代码。没有代码,我们无法做任何事情。 - Christopher
我在谈论带有个人身份验证的空项目。你能告诉我错误是否可能是由于 .net core 版本 / vs 版本或类似的原因引起的吗? - Martin Petrov
代码是默认的。 - Martin Petrov
1
我不明白你在问什么。我没有任何理由隐藏细节或代码。 - Martin Petrov
显示剩余10条评论
4个回答

5

我最近也有同样的经历。最终,我通过从解决方案中移除有问题的项目,然后重新添加它们(实际上你可以只是“卸载”它们)来解决了这个问题。


3

最近我在使用Visual Studio 2022 的一个现有项目时遇到了这个问题。上周我打开这个项目没有任何问题,但是这周我再次打开检查一些代码时,所有的东西都变成了红色。

最开始卸载并重新加载项目对我来说并没有起作用。重启Visual Studio也没用。我没有尝试重新安装 - 那太痛苦了,而且我认为总有一天我会再次遇到这个问题。

以下方法解决了我的问题:

  1. 右键单击每个出现此问题的项目,选择"Load Entire Dependency Tree"
  2. 再次右键单击该项目,并选择"Unload Project"
  3. 右键单击已卸载的项目,选择"Reload with Project Dependencies"

也许可以用更少的步骤来完成,但我无法复制出现这个问题,所以目前只有这些!


在VS2019 Pro上也遇到了类似的问题。这是在我将Newtonsoft JSON Nuget包添加到我的(Windows Forms)项目后立即发生的。您的步骤2和3足以解决它。 - G. Stewart

0
今天我也遇到了这个问题。 结果发现添加了这段文本:
  <ItemGroup>
    <PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
      <Version>6.2.10</Version>
    </PackageReference>
  </ItemGroup>

将它添加到我的 UWP .csproj 中,问题就消失了。

0
今天我也遇到了这个问题。最终我追踪到的问题是在 csproj 中添加了以下内容。
不确定是什么添加了它,因为它出现在两个构建之间,没有进行任何代码/nuget包更改。
<ItemGroup>
  <Reference Include="System.Private.CoreLib">
  <HintPath>..\..\..\..\..\..\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.14\System.Private.CoreLib.dll</HintPath>
</Reference>

从 csproj 文件中删除这个内容,问题就解决了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接