【问题标题】:missing "System" reference on ubuntu and .net core 3.0在 ubuntu 和 .net core 3.0 上缺少“系统”参考
【发布时间】:2019-09-25 20:33:36
【问题描述】:

我正在尝试在 Ubuntu 机器上使用 .Net Core 3.0 开发一个简单的 Web 应用程序。 我从这个link 设置了.Net Core SDK 和运行时。我设置了 VS Code,然后使用以下命令创建了一个项目 dotnet new webapp -o RazorPagesMovie code -r RazorPagesMovie

我构建了这个项目并且它正在运行。但在 VS Code 中,却显示如下错误:

The type or namespace name 'System' could not be found (are you missing a using directive or an assembly reference?) 

screenshot of vs code

【问题讨论】:

    标签: asp.net-core visual-studio-code ubuntu-18.04 .net-core-3.0 omnisharp


    【解决方案1】:

    关于您的问题,omnisharp-vscode(例如32893290)GitHub 存储库上有多个未解决的问题。一些解决方法如下:

    • 对于 Windows:安装 Visual Studio 2019 Community Edition 或 MsBuild Tools 2019
    • 对于 Linux/MacOS:安装 Mono 6.0.0 或更高版本

    或者卸载以前版本的 .NET Core。如果您不喜欢这些解决方法,解决此问题的最佳解决方案是暂时安装新的(测试版)OmniSharp 版本。

    您可以通过将以下行添加到您的 VS 代码 settings.json 中来安装此构建:

    "omnisharp.path": "1.34.4-beta.7"  
    

    保存设置后,将安装新版本的omnisharp-vscode with fix。安装后,如果需要,重新启动 IDE。我可以确认该修复程序适用于 Windows。

    【讨论】:

      【解决方案2】:

      我在 .net core 2.x 上经常收到类似的消息,我发现您必须在项目文件中添加对 netstandard 的引用才能修复如下:

      <Project Sdk="Microsoft.NET.Sdk">
        <PropertyGroup>
          ..
        </PropertyGroup>
        <ItemGroup>
          ..
        </ItemGroup>
      
        <ItemGroup> <Reference Include="netstandard" /> </ItemGroup>
      </Project>
      

      【讨论】:

        【解决方案3】:

        在 Mac 上,我尝试删除旧的 dot net 运行时和 sdks,使用omnisharp 的预览版并验证 6.0.0 以上的单声道版本 我还删除了项目 bin 和 obj 目录,重新编译,删除了 nuget 缓存目录并恢复。

        然后我在相关帖子中遇到了这个问题: 确认!升级到 Mono 6.4 解决了 Linux 下的问题! (在 Mono 6.0 下出现问题,因为我以前有过这个版本) 不一定是 6.0....

        【讨论】:

          猜你喜欢
          • 2018-06-26
          • 1970-01-01
          • 1970-01-01
          • 2020-12-01
          • 1970-01-01
          • 2018-05-02
          • 2020-02-19
          • 1970-01-01
          • 2018-12-13
          相关资源
          最近更新 更多