首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#扩展(OmniSharp)在VSCode中给出了错误结果

C#扩展(OmniSharp)在VSCode中给出了错误结果
EN

Stack Overflow用户
提问于 2019-09-30 16:05:33
回答 1查看 1.1K关注 0票数 3

我在VSCode中使用VSCode扩展时遇到了一些问题。我有一个基本的项目设置与一个依赖和一个Hello写线。当我运行dotnet run时,该项目编译并运行,没有问题。但是,C#扩展给了我27个编译问题,它们都与系统类有关。一个例子是:

代码语言:javascript
复制
Predefined type 'System.String' is not defined or imported (CS0518)

不过,...even系统被标记为Unnecessary using directive. (CS8019)dotnet提供的信息和扩展给我的信息之间似乎有出入。以前也有类似的问题,建议更新VSCode或扩展。不幸的是,这似乎没什么帮助。

我已经在没有依赖的情况下试过了,这不会改变什么。有趣的是,我一直从VSCode那里得到这样的消息,即存在一个未解决的依赖关系,我需要“恢复”。不过,dotnet restore并没有解决这个问题。

虚假问题的例子:

项目:

代码语言:javascript
复制
<Project Sdk="Microsoft.NET.Sdk">

   <PropertyGroup>
      <OutputType>Exe</OutputType>
      <TargetFramework>netcoreapp3.0</TargetFramework>
      <RootNamespace>project</RootNamespace>
   </PropertyGroup>

   <ItemGroup>
      <PackageReference Include="Hashgraph" Version="3.0.0" />
   </ItemGroup>

</Project>

不同组成部分的版本:

代码语言:javascript
复制
> dotnet --version
3.0.100
> mono --version
Mono JIT compiler version 6.4.0.198 (tarball Wed Sep 25 00:24:09 BST 2019)
> msbuild
Microsoft (R) Build Engine version 16.1.85+gad9c9926a7

编辑:顺便说一下,我在MacOS上。

EN

回答 1

Stack Overflow用户

发布于 2019-10-02 21:00:56

我也有过同样的问题。

C# 1.21.3扩展似乎与dotnet核心3.0.100不兼容。

我的修正:

我安装了DotNetCore2.2,并在与global.json文件相同的级别上向项目添加了一个.csproj文件。

然后在global.json中添加了这个json片段:

代码语言:javascript
复制
{
    "sdk": {
      "version": "2.2.402"
    }
}

然后我跑了:

代码语言:javascript
复制
dotnet restore, 
dotnet clean, 
dotnet build 

我想我们将不得不等待dotnet核心3扩展的修复。

更新:我在另一篇文章中看到删除以前安装的SDK将修复这个问题。我在Ubuntu18.04上,安装了2.1、2.2和3.0。我删除了2.1和2.2,现在扩展正在使用3.0

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58171511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档