不确定是我的VS代码设置中的问题还是 in.NET。
在Mac上长时间不使用.NET后,我安装了最新版本。
dotnet --info
提交: 7feb845744 运行时环境: 操作系统名称:Mac OS X 操作系统版本:10.15 操作系统平台:达尔文 RID: osx.10.15-x64 基本路径:/usr/local/share/dotnet/sdk/3.1.301/主机(对支持有用(: 版本: 3.1.5 提交: 65cd789777 已安装的 .NET Core SDK: 1.0.0-preview2.1-003155 [/usr/local/share/dotnet/sdk] 1.0.0-preview2-003131 [/usr/local/share/dotnet/sdk] 1.0.0-preview2-003148 [/usr/local/share/dotnet/sdk] 1.0.3 [/usr/local/share/dotnet/sdk] 2.0.0 [/usr/local/share/dotnet/sdk] 2.1.4 [/usr/local/share/dotnet/sdk] 2.1.200 [/usr/local/share/dotnet/sdk] 2.1.301 [/usr/local/share/dotnet/sdk] 2.1.500 [/usr/local/share/dotnet/sdk] 3.1.301 [/usr/local/share/dotnet/sdk] 已安装的 .NET Core 运行时: Microsoft.AspNetCore.All 2.1.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All] Microsoft.AspNetCore.All 2.1.6 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All] Microsoft.AspNetCore.App 2.1.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 2.1.6 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 3.1.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 1.0.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 1.0.2 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 1.0.4 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 1.1.0-preview1-001100-00 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 1.1.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 2.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 2.0.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 2.0.7 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 2.1.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 2.1.6 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
然后我运行了:
dotnet new xunit -o leetcode
cd leetcode
code .
这将启动 VS 代码。我打开单元测试示例,看到[Fact]
突出显示为错误:"类型'属性'是在未引用的程序集中定义的。必须添加对程序集"netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"的引用。[leetcode]">
另一个问题指向~/nuget/packages/microsoft.net.test.sdk/16.5.0/build/netcoreapp2.1。相同的文本"类型'属性'是在未引用的程序集中定义的。必须添加对程序集"netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"的引用。[leetcode]">
dotnet buld
、dotnet test
dotnet restore
工作正常,但在 VS Code 中看到这些错误很烦人。
我怀疑原因是一些基本的路径值或旧的 .NET 运行时。我想了解的是调试和解决此类问题的正确方法是什么。该项目实际上是<TargetFramework>netcoreapp3.1</TargetFramework>
.将其更改为<TargetFramework>netcoreapp2.0</TargetFramework>
看起来是错误的,也无济于事。
提前谢谢你!
我向 omnisharp-vscode 报告了一个问题,并得到了快速的回复,解决了我的问题。问题似乎出在通过酿造安装的 Mono 中。 提出了两种解决方案:
- 从官方来源安装单声道 https://www.mono-project.com/download/stable/
- 添加设置
"omnisharp.useGlobalMono": "never",
我尝试了第二个,它解决了问题。
附言感谢 @lex-li 在 GitHub 上创建错误的建议。