我想用Target Framework .NET Standard 2.0创建一个类库项目。
我已将我的Visual Studio 2017
更新为版本15.3
,并且还在Visual Studio安装程序中手动检查了.NET Framework 4.7 SDK
和.NET Framework 4.7 targeting pack
并安装了它们。
Project / Application窗口中的Target Framework组合框中仍然没有.NET Standard 2.0
选项。所以我手动将.csproj
文件中的TargetFramework标记更改为netstandard2.0
,但在尝试构建后我收到此错误:
当前的.NET SDK不支持以.NET Standard 2.0为目标。要么是.NET Standard 1.6或更低版本,要么使用支持.NET Standard 2.0的.NET SDK版本。
听起来像安装该特定版本的VS2017更新还没有安装.NET Core 2.0 SDK。你可以下载here。
要检查已安装的SDK版本,请运行
dotnet --info
从命令行。请注意,如果当前工作目录或任何祖先目录中有global.json
文件,那么将覆盖运行SDK的哪个版本。 (例如,如果您想为项目强制执行特定版本,那么这很有用。)
从评论来看,某些版本的VS2017更新会安装.NET Core SDK。我怀疑它可能会随着时间的推移而有所不同。
我有同样的问题,并拥有最新版本的Microsoft Visual Studio Community 2017版本15.7.3
我刚下载了最新的SDK 2.1,没有更多的定位问题。 https://www.microsoft.com/net/download/thank-you/dotnet-sdk-2.1.301-windows-x64-installer
信息:Microsoft Visual Studio社区2017版本15.7.3 VisualStudio.15.Release / 15.7.3 + 27703.2026 Microsoft .NET Framework版本4.7.03056
已安装版本:社区
C#Tools 2.8.3-beta6-62923-07。 Commit Hash:7aafab561e449da50712e16c9e81742b8e7a2969 IDE中使用的C#组件。根据您的项目类型和设置,可能会使用不同版本的编译器。
通用Azure工具1.10提供Azure移动服务和Microsoft Azure工具使用的公共服务。
NuGet Package Manager 4.6.0 Visual Studio中的NuGet包管理器。有关NuGet的更多信息,请访问http://docs.nuget.org/。
ProjectServicesPackage Extension 1.0 ProjectServicesPackage Visual Studio扩展详细信息
ResourcePackage Extension 1.0 ResourcePackage Visual Studio扩展详细信息
Visual Basic工具2.8.3-beta6-62923-07。 Commit Hash:7aafab561e449da50712e16c9e81742b8e7a2969 IDE中使用的Visual Basic组件。根据您的项目类型和设置,可能会使用不同版本的编译器。
Visual Studio代码调试适配器主机包1.0用于在Visual Studio中承载Visual Studio代码调试适配器的Interop层
用于Unity的Visual Studio工具3.7.0.1用于Unity的Visual Studio工具
而上述答案并没有解决我的问题。我终于通过专门访问此链接https://www.microsoft.com/net/download/visual-studio-sdks并下载Visual Studio所需的sdk来解决它。这真的令人困惑,我不明白为什么,但这解决了我的问题
对我来说,解决方案是更改global.json
中的版本以反映已安装的版本。
像其他人说的那样可以在cmd中找到运行dotnet --info
的版本
这个:
{
"projects": [ "src", "test" ],
"sdk": {
"version": "2.0.3"
}
}
变成了:
{
"projects": [ "src", "test" ],
"sdk": {
"version": "2.1.4"
}
}
您还可以通过运行来创建global.json文件
dotnet new globaljson --sdk-version 2.1.4
在项目的根源
这对我有用
在“工作负载”选项卡上,选中“.Net Core跨平台开发”,然后单击“修改”
不要忘记在左侧菜单中选中“.NET Core 2.0开发工具”。
我之前安装了Asp Net Core,但是在我安装Visual Studio之后才出现在我的Visual Studio上。
卸载一些.NET Core 1.x预览SDK后,我刚刚使用15.8.3,我的应用程序无法编译并显示错误。
它是通过安装最新的x86版本的SDK修复的,即使我在Windows 10 x64上。
我认为这是因为VS 2017仍然是一个x86程序,虽然程序以x64运行,但编译器正在寻找合适的x86 SDK
实际上,对我而言,它与另一个答案相反。
在问题出现之前我安装了最新的.NET Core SDK(在我的情况下是3.0.0-preview2)没有最新版本的Visual Studio(不确定这是否会有所不同)。
因此,解决方案只是卸载最新的.NET Core SDK。 (如果您需要它,这不是完美的,因此您可能会考虑将Visual Studio升级到最新版本,但至少可以解决持续存在的问题)。
我刚刚遇到了这个麻烦。就我而言,我有一个工作脚本
SET devenvPath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe
"%devenvPath%" mySolution.sln /Rebuild "DebugWithUT|AnyCpu" /Out mySolution.Build.log
今天我开始收到这个确切的错误。但现在我记得前一天安装VS2019。看起来它为VS2017改变了一些东西。我去了VS2017更新,安装了最新版本/更新并将其修复了。