首页 > 解决方案 > 为什么我的 vscode 1.38.1 在 Ubuntu 19 上打开 .NET Core 3.0 裸控制台应用程序时显示“未定义或导入的预定义类型”

问题描述

我安装了 .NET core 3.0 SDK 并使用 .NET 创建了一个控制台应用程序dotnet new console。这是项目文件。

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>
</Project>

该应用程序成功运行dotnet run。当我在 Visual Studio Code 中打开它时,包括Programvoidstring在内的所有类型Console都带有下划线,表示错误。错误总是一样的。此示例显示string错误

Predefined type 'System.String' is not defined or imported (CS0518) [myproject]

我试过了:

请注意,.netcoreapp2.2应用程序可以正常打开。

以下是一些环境信息:

$ code --version
1.38.1
b37e54c98e1a74ba89e03073e5a3761284e3ffb0
x64
$ dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   3.0.100
 Commit:    04339c3a26

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  19.04
 OS Platform: Linux
 RID:         ubuntu.19.04-x64
 Base Path:   /usr/share/dotnet/sdk/3.0.100/

Host (useful for support):
  Version: 3.0.0
  Commit:  95a0a61858

.NET Core SDKs installed:
  2.2.402 [/usr/share/dotnet/sdk]
  3.0.100 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.2.7 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.2.7 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.2.7 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 19.04
Release:        19.04
Codename:       disco

标签: visual-studio-code.net-core-3.0ubuntu-19.04

解决方案


我已经放弃了所有其他 dotnet SDK,只剩下 3.0.100 可用。那成功了。

Linux Mint,最新的 VSCode。


推荐阅读