我已经安装了VS2017 Enterprise 15.6.4
。最近从official site
.NET Core 2.1.101 SDK
如果我创建控制台或asp.net核心应用程序,我期待.NET Core 2.1
作为目标框架之一。有人可以帮我理解我在这里缺少的东西。
正如评论中所建议的,我安装了15.7预览2.仍然没有运气和同样的问题。
答案 0 :(得分:19)
我遇到了同样的问题。我通过使用Runtime for .NET Core 2.1安装正确的SDK来解决这个问题。
基本上从VS Preview运行/创建2.1项目,您需要安装" 2.1.300" (不是2.1.4).NET Core SDK和Runtime。 https://www.microsoft.com/net/download/dotnet-core/sdk-2.1.300-preview1(这包括必需的运行时)
这个误导我在https://github.com/dotnet/cli/issues/8309发现的版本的错误解释(dasMulli于2月24日发表评论)。
答案 1 :(得分:8)
以防万一这对其他人有帮助...安装VS 15.9.2后,在2.2 Preview-3上正常运行的项目停止了工作。 VS无法看到预览SDK。我可以使用dotnet.exe而不是VS构建解决方案。
为解决此问题,我在此解决方案的根文件夹中创建了一个global.json,指向预览SDK。这使VS可以查看预览版本。
这是VS在15.8.x和15.9.x之间的行为变化。
要创建global.json,您可以导航到所需的文件夹并输入以下内容:
dotnet新的globaljson
答案 2 :(得分:3)
如果您已为其他系统架构安装了SDK(例如,如果您在64位计算机上安装了32位/ x86 SDK),则将在PATH variable中为该特定位置(例如C:\Program Files\dotnet
或C:\Program Files (x86)\dotnet
)。
问题是Visual Studio在搜索已安装的框架时,将在找到的包含SDK的第一个PATH变量条目处停止。因此,如果您安装的第一个版本使用了错误的体系结构,那么您必须先调整这些条目的位置,然后任何正确的SDK才会出现在 Target Framework 下拉列表中。
来源:this absurdly-hard-to-find comment within issue #8309。
TL; DR :确保您在列表中看到的路径变量中的第一个“ C:\ Program Files \ dotnet \”条目与您的系统体系结构匹配:
C:\Program Files\dotnet\
C:\Program Files (x86)\dotnet\
答案 3 :(得分:2)
确保Visual Studio 2017是最新的。转到“工具”->“扩展和更新”以安装Visual Studio更新。这为我解决了这个问题。
答案 4 :(得分:1)
我曾遇到类似的情况,我试图安装点网的预览版,但没有帮助。 但是,在我更新Visual Studio之后(从15.8到15.9.6)。 我可以在目标框架中看到点网核心2.1。
答案 5 :(得分:1)
已更新到最新的VS 2017,并安装了最新的.Net Core SDK。 将global.json更改为指向已安装的最新版本。 这为我解决了。
答案 6 :(得分:0)
我曾经遇到过类似的问题。然后,我刚刚将Visual Studio 2017更新为15.9.16版本并重新启动了系统。问题解决了。
答案 7 :(得分:0)
我遇到了类似的问题,我卸载了.Net Core 2.2运行时,然后从下面的链接中卸载:
https://dotnet.microsoft.com/download/visual-studio-sdks?utm_source=getdotnetsdk&utm_medium=referral
安装.Net Core 2.2 Visual Studio SDK,重新启动Visual Studio,我的问题已解决,.Net Core 2.2现在在Visual Studio 2017版本15.9.16的项目属性中的“目标框架”列表中列出。 >
答案 8 :(得分:0)
我在 .net core 2.1 下创建了一个新项目,没问题,但在我的旧项目中没有出现。所以我打开了两个“.cproject”文件并将它们放在一起比较,发现了问题。
在文本编辑器中打开项目的“.cproject”文件,然后替换下面的行
<TargetFramework>netstandard2.1</TargetFramework>
有了这个:
<TargetFramework>netcoreapp2.1</TargetFramework>