缺失.NET Standard 2.0框架,使用.NET Core SDK 2.2.1和.NET Framework 4.7.2。

15

我创建了一个.NET Standard类库,它似乎指向1.6版本,但是当我想要将其更改为v2.0时,在列表中没有看到它:

Visual Studio project properties pane, with target framework select open and missing versions of .NET Standard after v1.6

同时附上了我的机器和版本的最新信息,我已经安装了 .NET Core 2.2.1 x64 和 x86 SDK,并且我拥有 .NET Full Framework 4.7.2。我正在使用 VS 2017,v15.9.3。

Visual Studio installation modification pane

刚刚重新安装了VS,以下是安装过程:

CMD and Visual Studio installer showing installed versions of dotnet and VS version

重新安装VS并没有起作用,所以我尝试了重新安装Windows和VS,这样做管用了...有更简单、更一致的方法来解决这个问题吗?

你尝试过从NuGet https://www.nuget.org/packages/NETStandard.Library/2.0.0下载吗? - Llazar
似乎没有什么区别。 - Zoinky
你找到解决方案了吗? - Stefanija
@Merian,对我来说唯一有效的解决方案是重新安装Windows... 疯狂。 - Zoinky
@Zoinky 这个窗口是什么意思? - Stefanija
@Merian 是的,操作系统。 - Zoinky
3个回答

5
我刚遇到了这个问题。重新安装sdk和VS都没有帮助。问题最终是由于系统路径变量中路径的顺序不正确所致。只要我将C:\Program Files\dotnet\移到C:\Program Files (x86)\dotnet\之前,VS就能够捕捉到正确的sdk。
请参考下面的截图查看系统路径变量:System Path variable

1
我知道这是一个老问题 - 但我刚遇到它。我做了与你相反的事情,它起作用了。可能值得注意的是,出现绑定到SDK的问题的程序是32位安装。 - Amiga500
这对我们没有起作用。VS 2022。 - Richard Anthony Freeman-Hein
在VS 2022中,在我的情况下,系统路径变量中缺少"C:\Program Files (x86)\dotnet"。手动添加后,它可以正常工作! - MAQ678

3

我的团队遇到了这个问题。虽然我们安装了所有的 .Net Core SDK,但 VS2017 的目标框架只显示为 .Net Standard 1.6。经过大量搜索,我们发现除一个x86版本的2.2.301之外,所有的 .Net Core SDK 版本都是64位(最新版本为2.2.10)。

命令 dotnet --info 帮助我们找到了相同的问题。在 dotnet --info 输出中,Base path 指向 C:\Program Files (x86)\dotnet\sdk\2.2.301\

SDK 路径: C:\Program Files\dotnet\sdk

C:\Program Files (x86)\dotnet\sdk

最后,我们卸载了 x86 版本,然后环境路径重置并指向了64位的 SDK,如下图所示。现在,目标框架指向 .Net Standard 2.0。enter image description here


1
我曾经遇到同样的问题,甚至向微软报告了此问题。这只会在干净安装时发生,因此检查其长期使用和升级系统的人无法提供帮助。
但是,在许多绝望的尝试和放弃之后,我关闭了计算机,并在第二天启动它。然后VS正常工作,2.0版本也在应该的位置上。
我知道这不是一个适当、可靠和可重复的解决方案,但也许它能为某些人省去重新安装所有内容的麻烦... :-)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接