2017-10-14 5 views
0

내 모든 프로젝트에 항상 NETStandard.Library 1.6.1이 설치된 이유를 알 수 없습니다.Visual Studio .NET 코어 버전을 제어하는 ​​항목은 무엇입니까?

나는 다음과 같은 출력을 얻을 명령 줄에서 dotnet --version 실행하면

내 .csproj 파일은 다음과 같습니다
2.1.0-preview1-007102 

: 비주얼 스튜디오 내에서 nuget를 통해 업그레이드에서

<Project Sdk="Microsoft.NET.Sdk"> 
    <PropertyGroup> 
    <TargetFramework>netstandard2.0</TargetFramework> 
    </PropertyGroup> 
    <ItemGroup> 
    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" /> 
    </ItemGroup> 
</Project> 

비주얼 스튜디오 블록 내 그래서 항상 수동으로 NETStandard.Library 2.0.0을 설치하거나 스택 오버플로를 검색하고 그 암시 적 버전 태그를 .csproj에 추가해야하지만, 왜 이것을해야합니까? Visual Studio에서 기본값이 1.6이어야한다고 말하는 이유는 무엇입니까? 이 NuGet 패키지가 귀하의 경우는 이전 버전처럼 보이지만 수동으로 편집 할 예정에 없습니다

enter image description here

답변

1

아래 NETStandard.Library 2.0.0을 설치에서 저를 차단하여 무엇을 의미

공구는 netstandard2.0과 함께 사용하지 않아야합니다.

프로젝트 디렉토리 계층에 최신 VS 버전 (현재 15.4.0)과 global.json이 있는지 확인하여 SDK 버전을 2.0.0보다 낮은 것으로 설정하십시오. 당신이 지속적으로 안전을 위해 그것을 업데이트하거나 포함하는 프로젝트 디렉토리에 global.json 문서를 만들 필요로

또한, 나는 매일 사용하지 않는 것이 좋습니다 것은 생산 작업 (예를 들어, 귀하의 2.1.0 미리보기) 구축 :

{ 
    "sdk": { 
    "version": "2.0.2" 
    } 
} 

"좋은"버전 (2.0.2은 VS 2017 15.4.0과 함께 제공되는 버전)을 사용하고 있는지 확인하십시오. 이렇게 한 후에 솔루션을 닫았다가 다시 열어야합니다.

+0

나는 최신 VS를 가지고 있으며 심지어 새로운 것을 시험해보기 위해 다운로드 한 엔터프라이즈 시험 버전입니다. 같은 것. 이상한 부분은 cli''dotnet build''가 예상대로 작동한다는 것입니다. 또한 제 빌드 서버는 아무런 문제없이 빌드합니다. 나는 Visual Studio가 다른''dotnet'' 실행 파일을 사용하고 있는지, 어떤 일이 벌어지고 있는지 알지 못합니다. –

+0

VS는 .net 코어 SDK 버전에서'Microsoft.NET.Sdk' 폴더를 찾는 "SDK 리졸버"를 가지고 있습니다. 이를 제어하기 위해 global.json을 찾았지만 1.1.0 또는 2. * 버전으로 해결해야합니다. 2.1.0 미리보기가있는'dotnet --info'로 확인하고 삭제할 수 있습니다. ('where dotnet'도 좋은 지적입니다.) –

+0

감사합니다. 2.0 미리보기 sdks와 1.0 미리보기 sdks를 설치했는데 기대했던대로 모든 작업이 시작되었습니다. 미리보기 SDK의 존재가 왜 이런 문제를 일으켰는지 잘 모르겠습니다. –