C# 类型或命名空间名称';系统&x27;在Linux上的.netcore 3.0中找不到(是否缺少using指令或程序集引用?)
我刚刚创建了一个简单的“Hello World”控制台应用程序来开始测试。netcore 3.0在Linux上使用VS代码进行开发,它不会(目前)编译时出现26个错误,主要说明预定义类型System.Object、System.String、System.Void等未定义或导入 .csproj文件:C# 类型或命名空间名称';系统&x27;在Linux上的.netcore 3.0中找不到(是否缺少using指令或程序集引用?),c#,ubuntu,visual-studio-code,.net-core-3.0,C#,Ubuntu,Visual Studio Code,.net Core 3.0,我刚刚创建了一个简单的“Hello World”控制台应用程序来开始测试。netcore 3.0在Linux上使用VS代码进行开发,它不会(目前)编译时出现26个错误,主要说明预定义类型System.Object、System.String、System.Void等未定义或导入 .csproj文件: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</Outpu
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Project Include="Program.cs"/>
</ItemGroup>
</Project>
有趣的是,我一直在使用的classlib也有同样的问题,它在Windows 10机器上编译和运行(测试)都很好,但是当我在Linux机器上加载repo时,它就完全崩溃了。好主意是检查您是否安装了指定的SDK,在本例中是针对.NET 3.0的 您可以通过键入以下内容来完成此操作: dotnet--列出SDK 对于所有已安装的SDK版本,或类似版本,TiGreX在评论中指出: 网络信息
还请记住,对于3.0 Visual Studio代码,需要最新的C#扩展,因此请检查是否有扩展。结果是我同时安装了3.0.100和2.2.402 SDK,这导致了冲突。卸载2.2.402成功了
sudo rm -rf /usr/share/dotnet/sdk/2.2.402
这很奇怪,你能检查一下你是否安装了dotnet运行时/sdk吗。你能运行
dotnet--info
吗?它会告诉你你有哪些运行时和SDK。谢谢你的回复。我已经安装了SDK版本3.0.100和2.2.402,并且没有针对VS代码或我的任何扩展(包括C#)的新更新。是否我需要卸载2.2.402 SDK?可能会干扰吗?
sudo rm -rf /usr/share/dotnet/sdk/2.2.402