2016-10-11 9 views
4

.NET Standard은 모든 .NET 플랫폼에서 구현해야하는 API를 지정합니다. 버전 관리 규칙은 무엇입니까? breaking.adding인데 1.4이 추가되고 1.3과 역 호환을 유지하지만 2.x1.x과 역 호환되지 않습니까?.NET Standard 버전 규칙은 무엇입니까?

설명서가 이에 대해 명확하지 않습니다.

는 .NET 표준 라이브러리 버전을 감안할 때, 당신이 같거나 낮은 버전을 대상으로 라이브러리를 사용할 수 있습니다 Some Microsoft docs 순수한 이전 버전과의 호환성을 나타냅니다. (강조 표시 추가)

이제 2.0이 나와서 위의 내용이 올바르지 않습니다. 말했다되는 것을 the release blog post는 말했다 :

.NET 표준을 대상으로 도서관에서 당신이 참조 할 수 있습니다 자신의 버전은 버전보다 낮거나 같은 경우 .NET 표준, 를 [라이브러리 타겟팅] 타겟팅하는 . 말해서 같은 블로그 게시물 자체가 모순

그건 (강조 추가) :

는 .NET 표준 2.0을 지원하는 .NET 프레임 워크 4.6.1을 허용하기 위해

, 우리는 모든 API를 제거해야 .NET Standard 1.5 및 1.6에서 소개 된 .NET Standard에서.

2.0 버전이 출시되었으므로 버전 규칙은 무엇입니까? breaking.adding 인 것으로 보입니다. MSFT에서 이것을 문서화 한 곳은 어디입니까?

답변

6

자세한 내용은 On.NET episode on .NET Standard에 설명되어 있습니다.

일반적으로,이 .NET 표준 작동하는 방법이다 :

  1. .NET 표준 것이다 버전 선형, 버전 간 파괴 변경을하지 의도로. 즉, .NET Standard의 API 표면은 더 높은 버전의 API가있는 동심원으로 생각할 수 있습니다.
  2. 특정 버전의 .NET 플랫폼은 특정 버전의 .NET Standard를 구현합니다. 이 트레이드 오프를 고려 대상으로하는 .NET 표준 버전을 선택할 때
  3. :
    • 높은 버전 번호, 더 많은 API를 사용하면
    • 낮은 버전 번호를 사용할 수 있습니다, 더 많은 .NET 플랫폼 지원 그것은

왜 변화를 깨는에 대한이 이야기가? 짧은 대답은 .NET Standard 1.x를 정의 할 때 실수를 범했기 때문에 플랫폼 도달 범위를 고려하지 않았기 때문입니다. .NET Standard 1.5 및 1.6을 무시하고 종속성을 피하십시오. 그렇게하면 .NET Standard 2.0은 .NET Standard 1.4의 엄격한 상위 집합입니다.

자세한 내용은 .NET Standard 2 섹션을 참조하십시오.0 변경 변경 : .NET Framework 4.6.1 호환성my blog post on .NET Standard에 추가.

업데이트. 커뮤니티의 많은 피드백을받은 후에 우리는이 급변하는 변화를하지 않기로 결정했습니다. 이 결정에 대한 자세한 내용은 .NET Standard FAQ에 나와 있습니다.