현재 .NET SDK는 Visual Studio 2017 업데이트 15.3에서 .NET Standard 2.0 오류 대상 지정을 지원하지 않습니다.


119

Target Framework .NET Standard 2.0을 사용하여 클래스 라이브러리 프로젝트를 만들고 싶습니다.

내 업데이트 한 Visual Studio 2017버전으로 15.3도 비주얼 스튜디오 설치 프로그램에 확인 .NET Framework 4.7 SDK하고 .NET Framework 4.7 targeting pack수동으로 그들을 설치했습니다.

.NET Standard 2.0프로젝트 / 응용 프로그램 창의 대상 프레임 워크 콤보 상자 에는 여전히 옵션 이 없습니다 . 그래서 .csproj파일의 TargetFramework 태그를 수동으로으로 변경 netstandard2.0했지만 빌드를 시도한 후이 오류가 발생합니다.

현재 .NET SDK는 .NET Standard 2.0 대상 지정을 지원하지 않습니다. .NET Standard 1.6 이하를 대상으로하거나 .NET Standard 2.0을 지원하는 .NET SDK 버전을 사용하십시오.


4
global.json.NET Core SDK를 1.x에 고정 하는 파일이 있습니까? .NET Core 2.0 SDK를 별도로 설치 했습니까? (나는 거라고 기대 는 VS에 포함 할 수 있지만, 어쨌든 설치 해치지 않을 것입니다.)
존 소총을

1
@JonSkeet .NET Core 2.0 SDK 설치는 별도로 작동했습니다. 여기에 답변으로 제안을 추가하면 좋을 것입니다.
sahar

답변:


144

특정 버전에 대한 VS2017 업데이트를 설치해도 .NET Core 2.0 SDK도 설치되지 않은 것 같습니다. 여기에서 다운로드 할 수 있습니다 .

이미 설치된 SDK 버전을 확인하려면 다음을 실행하십시오.

dotnet --info

명령 줄에서. 이 있다면 참고 global.json현재 작업 디렉토리 또는 상위 디렉토리 중 하나에있는 파일, 즉 SDK의 버전을 우선합니다 실행됩니다. (예를 들어 프로젝트에 특정 버전을 적용하려는 경우 유용합니다.)

의견으로 판단하면 일부 버전의 VS2017 업데이트 .NET Core SDK를 설치합니다. 시간이 지남에 따라 다소 다를 수 있다고 생각합니다.


1
@Marwie : netstandard2.0을 목표로 삼는 것 같습니다. 1.0 SDK로 대상을 지정하려고 시도하지 않았지만 실패하더라도 놀라지 않을 것입니다. 물론 1.0 SDK로 netstandard1.X를 타겟팅 할 수 있습니다.
Jon Skeet

6
좋아-나는 주제에 익숙하지 않다-나는 .net 코어와 .net 표준 사이의 밀접한 관계에 놀랐습니다-그러한 의존성을 생략하기 위해 .net 표준을 만든 이유가 아니 었습니까? 별도의 패키지로 배송되지 않는 이유는 무엇입니까?
Marwie

1
@Marwie : 음, .NET Core SDK는 .NET Standard와 별 개인 .NET Core 런타임과 별개입니다. 그러나 SDK는 일련의 대상 프레임 워크에 대해 "알고"있으며 미래의 프레임 워크에서 작동하지 않는다는 사실에 놀랍지 않습니다 . Visual Studio 2013이 C # 7 코드를 컴파일 할 것으로 기대하는 것과 같습니다. 그것을 가능하게 될 것 동안 가능한 MS는 대상 netstandard2.0에 .NET 코어 2.0 SDK를 필요로하지 않았다 그래서 그것을 설계 한하기가 IMO, 어쨌든을 원하는 홀수 사용 사례가 될 것입니다.
Jon Skeet

3
모든 .net Core 1.x SDK를 제거한 후 오류가 발생했습니다. 나는 여전히 마이크로 소프트를 가지고 있었다. .NET core SDK 2.0.2, 2.0.3, 2.1.1 및 2.1.2 설치 및 VS 2017 5.2. 현재 Microsoft를 수동으로 설치했습니다. .NET core SDK (2.1.3) 프로젝트를 다시 컴파일 할 수있었습니다. 1.x SDK를 제거하면 2.x SDK가 깨 졌는지 궁금합니다.
SOHO 개발자

2
@Justin : 좋습니다. 2.1.4 SDK가 제대로 설치되지 않았거나 이전 버전에 고정 된 global.json 파일이있는 것 같습니다.
Jon Skeet

20

위의 답변으로는 문제가 해결되지 않았습니다. 마지막으로 https://www.microsoft.com/net/download/visual-studio-sdks 링크로 이동 하여 Visual Studio에 필요한 SDK를 다운로드하여 문제를 해결했습니다 . 정말 혼란 스러웠고 왜 그런지 모르겠지만 그게 내 문제를 해결했습니다.


나는 이것을 찬성 할 수 없으며 이것은 또한 내 문제를 해결했지만 누군가 가이 작업의 이유를 명확히하기를 바랍니다.
Beytan Kurt

이 솔루션은 저에게도 효과적이었습니다. 나에게는 최신 SDK와의 비 호환성 문제였습니다. Visual Studio 2017을 사용하는 경우 최신 버전의 .NET Core SDK를 사용할 수 없습니다.
제로

11

나에게 해결책은 global.json설치된 버전 을 반영하도록 버전을 변경하는 것이 었습니다 .

다른 사람들이 말한 것처럼 버전은 dotnet --infocmd 에서 실행 되는 것을 찾을 수 있습니다.

이:

{
  "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

프로젝트 루트


2
global.json파일이 존재한다면 어디 에서 찾을 수 있습니까?
브루노 Bieri

ms가 해당 파일을 제거했다고 생각합니다. .sln 및 .csproj 파일을 확인하십시오. :)
lsp

2
파일 global.json은 솔루션 파일 옆에 있습니다. 일반적으로 솔루션 자체에 솔루션 항목으로 포함했습니다. 내 실험에서 솔루션을 닫고 다시로드하지 않고 버전을 변경하면 global.json이상한 빌드 오류가 발생할 수 있음을 발견했습니다. 내 의견은 .NET Core SDK 2.2.100과 함께 VS2018, 버전 15.9.2에 적용됩니다.
Manfred

문서에서 .NET Core SDK looks for a global.json file in the current working directory ... or one of its parent directories . 따라서 상속 유형 파일과 같습니다.
StuartLC

10

이것은 때때로 이전 프로젝트를 열려고 할 때 발생하며 프로젝트 대상 프레임 워크를 변경하는 데 도움이됩니다. 프로젝트-> 프로젝트 이름 속성 ...으로 이동 하여 대상 프레임 워크를 설치 한 프레임 워크로 변경합니다. 프로젝트 속성


드롭 다운 메뉴에 아무것도 표시되지 않습니다. 어떤 아이디어?
Danny

9

이것은 나를 위해 일했습니다.

Visual Studio 설치 사용

"워크로드"탭에서 ".Net Core 크로스 플랫폼 개발"을 선택하고 "수정"을 클릭합니다.

여기에 이미지 설명 입력

왼쪽 메뉴에서 ".NET Core 2.0 개발 도구"를 확인하는 것을 잊지 마십시오.

출처

노트

이전에 Asp Net Core를 설치했지만 Visual Studio 설치를 사용하여 설치 한 직후 Visual Studio에 나타나지 않았습니다.


1
또는 여기에서 필요한 것을 설치할 수 있습니다. dotnet.microsoft.com/download/…
user2173353

3

Visual Studio를 버전 15.5.1로 업그레이드했을 때 .Net Core SDK가 2.X로 업그레이드 되었기 때문에이 오류가 사라졌습니다. 를 실행하면 dotnet --info이제 다음이 표시됩니다.

여기에 이미지 설명 입력


3

일부 .NET Core 1.x 미리보기 SDK를 제거한 후 15.8.3에서이 기능을 사용했는데 애플리케이션이 컴파일되지 않고 오류가 표시되었습니다.

Windows 10 x64를 사용하는 경우에도 최신 x86 버전의 SDK를 설치하여 수정되었습니다.

나는 이것이 VS 2017이 여전히 x86 프로그램이고 프로그램이 x64로 실행되지만 컴파일러가 적절한 x86 SDK를 찾고 있기 때문이라고 생각합니다.


3

Visual Studio 2019와 2017을 모두 설치했습니다. VS2017 용 .NET Core 2.X SDK를 별도로 설치하려고했지만 운이 없었습니다.

문제는 VS2017이 좋아하지 않는 .NET Core 3.0 SDK가 기본 sdk-version으로 설치되어 있다는 것입니다.

내 해결책은 특정 프로젝트의 SDK 버전을 전환하는 것이 었습니다.

  • 먼저 설치된 SDK를 나열하여 원하는 버전을 찾습니다 .
$ dotnet --info

.NET Core SDK (reflecting any global.json):
 Version:   3.1.100
 Commit:    cd82f021f4

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.18362
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.1.100\

Host (useful for support):
  Version: 3.1.0
  Commit:  65f04fb6db

.NET Core SDKs installed:
  1.1.14 [C:\Program Files\dotnet\sdk]
  2.1.202 [C:\Program Files\dotnet\sdk]
  2.1.509 [C:\Program Files\dotnet\sdk]
  2.2.110 [C:\Program Files\dotnet\sdk]
  3.0.100 [C:\Program Files\dotnet\sdk]
  3.1.100 [C:\Program Files\dotnet\sdk]
  • 당신의에서 솔루션 디렉토리 :
$ dotnet new globaljson --sdk-version 2.2.110 --force

이제이 dotnet솔루션에 지정된 SDK 버전을 사용합니다.

3.0 프로젝트를 엉망으로 만들지 않고 시스템 전체에서이 작업을 수행하는 방법을 찾지 못했습니다.


이것이 필요하다는 것이 이상해 보이지만 global.json (버전 2.1.513 용)을 사용하면 내 문제도 해결되었습니다.
8128

2

사실 나에게는 다른 답변과 반대되는 방식으로 일어났습니다.

내가 설치 한 최신 .NET 핵심 SDK를 문제가 등장하기 전에 없는 비주얼 스튜디오의 최신 버전 (즉, 어떤 차이를 만들 것하지 않도록 경우)를 갖는 (내 경우에는 3.0.0-preview2을).

따라서 해결책최신 .NET Core SDK를 제거하는 것 입니다. (필요한 경우 완벽하지 않으므로 Visual Studio를 최신 버전으로 업그레이드하는 것을 고려할 수 있지만 적어도 진행중인 문제는 해결되었습니다).


1

이 문제를 겪었습니다. 제 경우에는 작업 스크립트가있었습니다.

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 업데이트로 이동하여 최신 버전 / 업데이트를 설치하고 다시 수정했습니다.


0

나는 같은 문제가 있었고 최신 버전의 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 Community 2017 버전 15.7.3 VisualStudio.15.Release / 15.7.3 + 27703.2026 Microsoft .NET Framework 버전 4.7.03056

설치된 버전 : 커뮤니티

C # 도구 2.8.3-beta6-62923-07. 커밋 해시 : IDE에서 사용되는 7aafab561e449da50712e16c9e81742b8e7a2969 C # 구성 요소. 프로젝트 유형 및 설정에 따라 다른 버전의 컴파일러를 사용할 수 있습니다.

Common Azure Tools 1.10 Azure Mobile Services 및 Microsoft Azure Tools에서 사용할 수있는 공통 서비스를 제공합니다.

NuGet 패키지 관리자 4.6.0 Visual Studio의 NuGet 패키지 관리자. NuGet에 대한 자세한 내용은 다음을 참조하십시오. http://docs.nuget.org/를 참조하십시오 .

ProjectServicesPackage 확장 1.0 ProjectServicesPackage Visual Studio 확장 상세 정보

ResourcePackage Extension 1.0 ResourcePackage Visual Studio Extension 상세 정보

Visual Basic 도구 2.8.3-beta6-62923-07. 커밋 해시 : 7aafab561e449da50712e16c9e81742b8e7a2969 IDE에서 사용되는 Visual Basic 구성 요소. 프로젝트 유형 및 설정에 따라 다른 버전의 컴파일러를 사용할 수 있습니다.

Visual Studio에서 Visual Studio Code 디버그 어댑터를 호스팅하기위한 Visual Studio Code 디버그 어댑터 호스트 패키지 1.0 Interop 계층

Unity 용 Visual Studio 도구 3.7.0.1 Unity 용 Visual Studio 도구


0

Visual Studio 용 x64 SDK 대신 x86 SDK를 다운로드해야합니다.


0

현재 .NET SDK가 .NET Core 3.1 타겟팅을 지원하지 않는 것과 동일한 문제가 발생했습니다. .NET Core 1.1 이하를 대상으로하거나 .NET Core 3.1을 지원하는 .NET SDK 버전을 사용합니다.

1) 컴퓨터에 .Net core SDK가 설치되어 있는지 확인하십시오. .NET 다운로드 !

2) 다음과 같이 설정 PATH 환경 변수 경로


0

TFS에서 솔루션을 구축하는 동안이 문제가 발생했습니다. 우리는 "닷넷 게시"작업을 사용하고있었습니다. msbuild를 사용하면 얼음이 깨졌습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.