diff --git a/src/Tasks/Common/Resources/Strings.resx b/src/Tasks/Common/Resources/Strings.resx
index d3e35931b250..c4fbe9fbb980 100644
--- a/src/Tasks/Common/Resources/Strings.resx
+++ b/src/Tasks/Common/Resources/Strings.resx
@@ -397,4 +397,16 @@ The following are names of parameters or literal values and should not be transl
NETSDK1069: This project uses a library that targets .NET Standard 1.5 or higher, and the project targets a version of .NET Framework that doesn't have built-in support for that version of .NET Standard. Visit https://aka.ms/net-standard-known-issues for a set of known issues. Consider retargeting to .NET Framework 4.7.2.{StrBegin="NETSDK1069: "}
+
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ {StrBegin="NETSDK1070: "}
+
+
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ {StrBegin="NETSDK1071: "}
+{0} - Package Id (Microsoft.AspNetCore.App or .All)
+{1} - Project name
+{2} - More info link
+
+
diff --git a/src/Tasks/Common/Resources/xlf/Strings.cs.xlf b/src/Tasks/Common/Resources/xlf/Strings.cs.xlf
index 0f632aec450e..0974c11bf769 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.cs.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.cs.xlf
@@ -62,6 +62,15 @@
Chybí metadata {0} o {1} položky {2}.{StrBegin="NETSDK1008: "}
+
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ {StrBegin="NETSDK1071: "}
+{0} - Package Id (Microsoft.AspNetCore.App or .All)
+{1} - Project name
+{2} - More info link
+
+ NETSDK1009: Unrecognized preprocessor token '{0}' in '{1}'.Nerozpoznaný token preprocesoru {0} v {1}.
@@ -112,6 +121,11 @@
Neplatný řetězec verze NuGet: {0}{StrBegin="NETSDK1018: "}
+
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ {StrBegin="NETSDK1070: "}
+ NETSDK1019: {0} is an unsupported framework.{0} není podporovaná platforma.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.de.xlf b/src/Tasks/Common/Resources/xlf/Strings.de.xlf
index 3408a7613e23..97bc7296be87 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.de.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.de.xlf
@@ -62,6 +62,15 @@
Die Metadaten "{0}" für das Element "{2}" vom Typ "{1}" sind nicht vorhanden.{StrBegin="NETSDK1008: "}
+
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ {StrBegin="NETSDK1071: "}
+{0} - Package Id (Microsoft.AspNetCore.App or .All)
+{1} - Project name
+{2} - More info link
+
+ NETSDK1009: Unrecognized preprocessor token '{0}' in '{1}'.Unbekanntes Präprozessortoken "{0}" in "{1}".
@@ -112,6 +121,11 @@
Ungültige NuGet-Versionszeichenfolge: {0}.{StrBegin="NETSDK1018: "}
+
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ {StrBegin="NETSDK1070: "}
+ NETSDK1019: {0} is an unsupported framework.{0} ist ein nicht unterstütztes Framework.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.es.xlf b/src/Tasks/Common/Resources/xlf/Strings.es.xlf
index b71b7b434466..2fba063d85c1 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.es.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.es.xlf
@@ -62,6 +62,15 @@
Faltan los metadatos de "{0}" en el elemento de "{1}" "{2}".{StrBegin="NETSDK1008: "}
+
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ {StrBegin="NETSDK1071: "}
+{0} - Package Id (Microsoft.AspNetCore.App or .All)
+{1} - Project name
+{2} - More info link
+
+ NETSDK1009: Unrecognized preprocessor token '{0}' in '{1}'.Token de preprocesador no reconocido "{0}" en "{1}".
@@ -112,6 +121,11 @@
Cadena de versión de NuGet no válida: "{0}".{StrBegin="NETSDK1018: "}
+
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ {StrBegin="NETSDK1070: "}
+ NETSDK1019: {0} is an unsupported framework.{0} es una plataforma no compatible.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.fr.xlf b/src/Tasks/Common/Resources/xlf/Strings.fr.xlf
index ca8ab7b42ad3..30b085d45296 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.fr.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.fr.xlf
@@ -62,6 +62,15 @@
Métadonnées '{0}' manquantes sur l'élément '{1}' '{2}'.{StrBegin="NETSDK1008: "}
+
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ {StrBegin="NETSDK1071: "}
+{0} - Package Id (Microsoft.AspNetCore.App or .All)
+{1} - Project name
+{2} - More info link
+
+ NETSDK1009: Unrecognized preprocessor token '{0}' in '{1}'.Jeton de préprocesseur '{0}' non reconnu dans '{1}'.
@@ -112,6 +121,11 @@
Chaîne de version NuGet non valide : '{0}'.{StrBegin="NETSDK1018: "}
+
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ {StrBegin="NETSDK1070: "}
+ NETSDK1019: {0} is an unsupported framework.{0} est un framework non pris en charge.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.it.xlf b/src/Tasks/Common/Resources/xlf/Strings.it.xlf
index 9b617fb49234..ffea3359175a 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.it.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.it.xlf
@@ -62,6 +62,15 @@
Mancano i metadati di '{0}' sull'elemento '{2}' di '{1}'.{StrBegin="NETSDK1008: "}
+
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ {StrBegin="NETSDK1071: "}
+{0} - Package Id (Microsoft.AspNetCore.App or .All)
+{1} - Project name
+{2} - More info link
+
+ NETSDK1009: Unrecognized preprocessor token '{0}' in '{1}'.Token di preprocessore '{0}' non riconosciuto in '{1}'.
@@ -112,6 +121,11 @@
La stringa di versione '{0}' di NuGet non è valida.{StrBegin="NETSDK1018: "}
+
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ {StrBegin="NETSDK1070: "}
+ NETSDK1019: {0} is an unsupported framework.{0} è un framework non supportato.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.ja.xlf b/src/Tasks/Common/Resources/xlf/Strings.ja.xlf
index e24f974046c6..0a707d4fad05 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.ja.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.ja.xlf
@@ -62,6 +62,15 @@
'{1}' 項目 '{2}' の '{0}' メタデータがありません。{StrBegin="NETSDK1008: "}
+
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ {StrBegin="NETSDK1071: "}
+{0} - Package Id (Microsoft.AspNetCore.App or .All)
+{1} - Project name
+{2} - More info link
+
+ NETSDK1009: Unrecognized preprocessor token '{0}' in '{1}'.認識されないプリプロセッサ トークン '{0}' が '{1}' に存在します。
@@ -112,6 +121,11 @@
無効な NuGet バージョン文字列: '{0}'。{StrBegin="NETSDK1018: "}
+
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ {StrBegin="NETSDK1070: "}
+ NETSDK1019: {0} is an unsupported framework.{0} は、サポートされていないフレームワークです。
diff --git a/src/Tasks/Common/Resources/xlf/Strings.ko.xlf b/src/Tasks/Common/Resources/xlf/Strings.ko.xlf
index b69e86d7ac37..17c509e110ab 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.ko.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.ko.xlf
@@ -62,6 +62,15 @@
'{1}' 항목 '{2}'에 '{0}' 메타데이터가 없습니다.{StrBegin="NETSDK1008: "}
+
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ {StrBegin="NETSDK1071: "}
+{0} - Package Id (Microsoft.AspNetCore.App or .All)
+{1} - Project name
+{2} - More info link
+
+ NETSDK1009: Unrecognized preprocessor token '{0}' in '{1}'.'{1}'에서 전처리기 토큰 '{0}'을(를) 인식할 수 없습니다.
@@ -112,6 +121,11 @@
NuGet 버전 문자열 '{0}'이(가) 잘못되었습니다.{StrBegin="NETSDK1018: "}
+
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ {StrBegin="NETSDK1070: "}
+ NETSDK1019: {0} is an unsupported framework.{0}은(는) 지원되지 않는 프레임워크입니다.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.pl.xlf b/src/Tasks/Common/Resources/xlf/Strings.pl.xlf
index 97965de0bdcf..b36e54d416b4 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.pl.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.pl.xlf
@@ -62,6 +62,15 @@
Brak metadanych „{0}” w elemencie „{1}” „{2}”.{StrBegin="NETSDK1008: "}
+
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ {StrBegin="NETSDK1071: "}
+{0} - Package Id (Microsoft.AspNetCore.App or .All)
+{1} - Project name
+{2} - More info link
+
+ NETSDK1009: Unrecognized preprocessor token '{0}' in '{1}'.Nierozpoznany token preprocesora „{0}” w elemencie „{1}”.
@@ -112,6 +121,11 @@
Nieprawidłowy ciąg wersji NuGet: „{0}”.{StrBegin="NETSDK1018: "}
+
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ {StrBegin="NETSDK1070: "}
+ NETSDK1019: {0} is an unsupported framework.{0} to nieobsługiwana platforma.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf b/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf
index 33db5523b596..a71dfb171aa5 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf
@@ -62,6 +62,15 @@
Metadados '{0}' ausentes no item '{1}' '{2}'.{StrBegin="NETSDK1008: "}
+
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ {StrBegin="NETSDK1071: "}
+{0} - Package Id (Microsoft.AspNetCore.App or .All)
+{1} - Project name
+{2} - More info link
+
+ NETSDK1009: Unrecognized preprocessor token '{0}' in '{1}'.Token de pré-processador não reconhecido '{0}' no '{1}'.
@@ -112,6 +121,11 @@
Cadeia de caracteres de versão do NuGet inválida: '{0}'.{StrBegin="NETSDK1018: "}
+
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ {StrBegin="NETSDK1070: "}
+ NETSDK1019: {0} is an unsupported framework.{0} é uma estrutura sem suporte.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.ru.xlf b/src/Tasks/Common/Resources/xlf/Strings.ru.xlf
index dd69591330c6..08b616b6bdba 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.ru.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.ru.xlf
@@ -62,6 +62,15 @@
Отсутствуют метаданные "{0}" для элемента "{2}" "{1}".{StrBegin="NETSDK1008: "}
+
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ {StrBegin="NETSDK1071: "}
+{0} - Package Id (Microsoft.AspNetCore.App or .All)
+{1} - Project name
+{2} - More info link
+
+ NETSDK1009: Unrecognized preprocessor token '{0}' in '{1}'.Нераспознанный маркер препроцессора "{0}" в "{1}".
@@ -112,6 +121,11 @@
Недопустимая строка версии Invalid NuGet: "{0}".{StrBegin="NETSDK1018: "}
+
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ {StrBegin="NETSDK1070: "}
+ NETSDK1019: {0} is an unsupported framework.Платформа {0} не поддерживается.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.tr.xlf b/src/Tasks/Common/Resources/xlf/Strings.tr.xlf
index 5cba4c8040cd..4fea87bc2fae 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.tr.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.tr.xlf
@@ -62,6 +62,15 @@
'{1}' öğesi '{2}' üzerinde '{0}' meta verileri eksik.{StrBegin="NETSDK1008: "}
+
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ {StrBegin="NETSDK1071: "}
+{0} - Package Id (Microsoft.AspNetCore.App or .All)
+{1} - Project name
+{2} - More info link
+
+ NETSDK1009: Unrecognized preprocessor token '{0}' in '{1}'.'{1}' içinde tanınmayan ön işlemci belirteci: '{0}'.
@@ -112,6 +121,11 @@
Geçersiz NuGet sürüm dizesi: '{0}'.{StrBegin="NETSDK1018: "}
+
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ {StrBegin="NETSDK1070: "}
+ NETSDK1019: {0} is an unsupported framework.{0} çerçevesi desteklenmiyor.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf b/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf
index 75a47599ee6a..85b41643a6c6 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf
@@ -62,6 +62,15 @@
在“{1}”项“{2}”上缺少“{0}”元数据。{StrBegin="NETSDK1008: "}
+
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ {StrBegin="NETSDK1071: "}
+{0} - Package Id (Microsoft.AspNetCore.App or .All)
+{1} - Project name
+{2} - More info link
+
+ NETSDK1009: Unrecognized preprocessor token '{0}' in '{1}'.“{1}”中无法识别预处理器标记“{0}”。
@@ -112,6 +121,11 @@
无效的 NuGet 版本字符串:“{0}”。{StrBegin="NETSDK1018: "}
+
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ {StrBegin="NETSDK1070: "}
+ NETSDK1019: {0} is an unsupported framework.{0} 是不受支持的框架。
diff --git a/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf b/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf
index dc15f26834f6..db6d99d5e839 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf
@@ -62,6 +62,15 @@
'{1}' 項目 '{2}' 上遺漏 '{0}' 中繼資料。{StrBegin="NETSDK1008: "}
+
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ NETSDK1071: A PackageReference for '{0}' was included in your project. This package can be implicitly defined by the SDK. To resolve this warning, remove this PackageReference and set the RuntimeFrameworkName property to {1}. For more information, see {2}.
+ {StrBegin="NETSDK1071: "}
+{0} - Package Id (Microsoft.AspNetCore.App or .All)
+{1} - Project name
+{2} - More info link
+
+ NETSDK1009: Unrecognized preprocessor token '{0}' in '{1}'.'{1}' 中的前置處理器語彙基元 '{0}' 無法辨識。
@@ -232,6 +241,11 @@
從 '{0}' 行 {1} 剖析 PlatformManifest 時發生錯誤。{2} '{3}' 無效。{StrBegin="NETSDK1044: "}
+
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ NETSDK1070: This project uses an unsupported value for RuntimeFrameworkName. Currently, only valid values are: Microsoft.NETCore.App, Microsoft.AspNetCore.App, or Microsoft.AspNetCore.All.
+ {StrBegin="NETSDK1070: "}
+ NETSDK1019: {0} is an unsupported framework.NETSDK1019: {0} is an unsupported framework.
diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.props b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.props
index 8a83af15d455..3e6e635a424c 100644
--- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.props
+++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.props
@@ -46,6 +46,17 @@ Copyright (c) .NET Foundation. All rights reserved.
+
+ $(RuntimeFrameworkVersion)
+ true
+ true
+
+ All
+
+
+
+ $(TargetLatestRuntimePatch)
+
+ Microsoft.NETCore.App
+
+
+
+
+
+
+
+ 2.1.1
+
+
+
+
+ $(DefaultPatchVersionForAspNetCoreAll2_1)
+
+
+ $(BundledAspNetCoreAllPackageVersion)
+
+ $(_TargetFrameworkVersionWithoutV)
+
+
+
+
+
+ $(LatestPatchVersionForAspNetCoreAll2_1)
+
+
+ $(BundledAspNetCoreAllPackageVersion)
+
+ $(_TargetFrameworkVersionWithoutV)
+
+
+
+ $(DefaultAspNetCoreAllPatchVersion)
+ $(LatestAspNetCoreAllPatchVersion)
+
+
+
+
+
+
+ 2.1.1
+
+
+
+
+ $(DefaultPatchVersionForAspNetCoreApp2_1)
+
+
+ $(BundledAspNetCoreAppPackageVersion)
+
+ $(_TargetFrameworkVersionWithoutV)
+
+
+
+
+
+ $(LatestPatchVersionForAspNetCoreApp2_1)
+
+
+ $(BundledAspNetCoreAppPackageVersion)
+
+ $(_TargetFrameworkVersionWithoutV)
+
+
+
+ $(DefaultAspNetCoreAppPatchVersion)
+ $(LatestAspNetCoreAppPatchVersion)
+
+
+
+
+
+ $(LatestNetCorePatchVersion)
+ $(DefaultNetCorePatchVersion)
+
+
+
+
+
+ <_UnrecognizedRuntimeFrameworkName>true
+
+
+
+
+
+
@@ -201,6 +305,13 @@ Copyright (c) .NET Foundation. All rights reserved.
+
+
+
+
+
@@ -226,6 +337,14 @@ Copyright (c) .NET Foundation. All rights reserved.
false
+
+ <_AspNetMetaPackageReference Include="@(PackageReference->WithMetadataValue('Identity', 'Microsoft.AspNetCore.App'))" />
+ <_AspNetMetaPackageReference Include="@(PackageReference->WithMetadataValue('Identity', 'Microsoft.AspNetCore.All'))" />
+
+
+
diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.targets b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.targets
index 5920f6c5ad06..525185be4a67 100644
--- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.targets
+++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.targets
@@ -509,12 +509,14 @@ Copyright (c) .NET Foundation. All rights reserved.
.NET Core apps can have shared frameworks that are pre-installed on the target machine, thus the app is "portable"
to any machine that already has the shared framework installed. In order to enable this, a "platform" library
has to be declared. The platform library and its dependencies will be excluded from the runtime assemblies.
+ By default, this should match the RuntimeFrameworkName, which users can set to target different runtimes,
+ such as ASP.NET Core.
============================================================
-->
- Microsoft.NETCore.App
+ $(RuntimeFrameworkName)
diff --git a/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToSetRuntimeFrameworkName.cs b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToSetRuntimeFrameworkName.cs
new file mode 100644
index 000000000000..042726b7b23b
--- /dev/null
+++ b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToSetRuntimeFrameworkName.cs
@@ -0,0 +1,181 @@
+// Copyright (c) .NET Foundation and contributors. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+using FluentAssertions;
+using Microsoft.DotNet.Cli.Utils;
+using Microsoft.Extensions.DependencyModel;
+using Microsoft.NET.TestFramework;
+using Microsoft.NET.TestFramework.Assertions;
+using Microsoft.NET.TestFramework.Commands;
+using Microsoft.NET.TestFramework.ProjectConstruction;
+using Newtonsoft.Json.Linq;
+using NuGet.Common;
+using NuGet.Frameworks;
+using NuGet.ProjectModel;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Runtime.InteropServices;
+using System.Linq;
+using System.Text;
+using System.Xml.Linq;
+using Xunit;
+using Xunit.Abstractions;
+using Microsoft.NET.Build.Tasks;
+using NuGet.Versioning;
+
+namespace Microsoft.NET.Build.Tests
+{
+ public class GivenThatWeWantToSetRuntimeFrameworkName : SdkTest
+ {
+ private const string ConsoleProgramSource = @"
+using System;
+
+public class Program
+{
+ public static void Main(string[] args)
+ {
+ Console.WriteLine(""Hello World!"");
+ }
+}
+";
+ private const string AspNetProgramSource = @"
+using System;
+using Microsoft.AspNetCore;
+using Microsoft.AspNetCore.Hosting;
+
+public class Program
+{
+ public static void Main(string[] args)
+ {
+ WebHost.CreateDefaultBuilder(args).Build().Run();
+ }
+}
+";
+
+ public GivenThatWeWantToSetRuntimeFrameworkName(ITestOutputHelper log) : base(log)
+ {
+ }
+
+ [Theory]
+ // TargetFramework, RuntimeFrameworkName, RuntimeFrameworkVersion, ExpectedPackageVersion
+ [InlineData("netcoreapp2.1", "Microsoft.NETCore.App", null, "2.1.0")]
+ [InlineData("netcoreapp2.1", "Microsoft.AspNetCore.App", null, "2.1.1")]
+ [InlineData("netcoreapp2.1", "Microsoft.AspNetCore.App", "2.1.2", "2.1.2")]
+ [InlineData("netcoreapp2.1", "Microsoft.AspNetCore.All", null, "2.1.1")]
+ [InlineData("netcoreapp2.1", "Microsoft.AspNetCore.All", "2.1.2", "2.1.2")]
+ public void It_targets_a_known_runtime_framework_name(
+ string targetFramework,
+ string runtimeFrameworkName,
+ string runtimeFrameworkVersion,
+ string expectedPackageVersion)
+ {
+ string testIdentifier = "SharedRuntimeTargeting_" + string.Join("_", targetFramework, runtimeFrameworkName, runtimeFrameworkVersion ?? "null");
+
+ var testProject = new TestProject
+ {
+ Name = "FrameworkTargetTest",
+ TargetFrameworks = targetFramework,
+ RuntimeFrameworkVersion = runtimeFrameworkVersion,
+ IsSdkProject = true,
+ IsExe = true,
+ RuntimeFrameworkName = runtimeFrameworkName,
+ };
+
+ testProject.SourceFiles["Program.cs"] = runtimeFrameworkName.Contains("AspNetCore")
+ ? AspNetProgramSource
+ : ConsoleProgramSource;
+
+ var testAsset = _testAssetsManager
+ .CreateTestProject(testProject, testIdentifier)
+ .Restore(Log, testProject.Name);
+
+ var buildCommand = new BuildCommand(Log, Path.Combine(testAsset.TestRoot, testProject.Name));
+
+ buildCommand
+ .Execute()
+ .Should()
+ .Pass();
+
+ var outputDirectory = buildCommand.GetOutputDirectory(targetFramework);
+
+ string runtimeConfigFile = Path.Combine(outputDirectory.FullName, testProject.Name + ".runtimeconfig.json");
+ string runtimeConfigContents = File.ReadAllText(runtimeConfigFile);
+ JObject runtimeConfig = JObject.Parse(runtimeConfigContents);
+
+ string actualRuntimeFrameworkName = ((JValue)runtimeConfig["runtimeOptions"]["framework"]["name"]).Value();
+ actualRuntimeFrameworkName.Should().Be(runtimeFrameworkName);
+
+ string actualRuntimeFrameworkVersion = ((JValue)runtimeConfig["runtimeOptions"]["framework"]["version"]).Value();
+ actualRuntimeFrameworkVersion.Should().Be(expectedPackageVersion);
+
+ LockFile lockFile = LockFileUtilities.GetLockFile(Path.Combine(buildCommand.ProjectRootPath, "obj", "project.assets.json"), NullLogger.Instance);
+
+ var target = lockFile.GetTarget(NuGetFramework.Parse(targetFramework), null);
+ var netCoreAppLibrary = target.Libraries.Single(l => l.Name == runtimeFrameworkName);
+ netCoreAppLibrary.Version.ToString().Should().Be(expectedPackageVersion);
+ }
+
+
+ [Fact]
+ public void It_fails_when_unknown_runtimeframework_name_is_used()
+ {
+ TestProject project = new TestProject()
+ {
+ Name = "UnknownFrameworkName",
+ TargetFrameworks = "netcoreapp2.1",
+ IsSdkProject = true,
+ RuntimeFrameworkName = "Banana.App",
+ };
+
+ var testAsset = _testAssetsManager.CreateTestProject(project);
+ var restoreCommand = testAsset.GetRestoreCommand(Log, project.Name);
+
+ restoreCommand.Execute()
+ .Should()
+ .Fail()
+ .And
+ .HaveStdOutContaining("error NETSDK1070:");
+ }
+
+ [Fact]
+ public void It_generates_deps_file_for_aspnet_app()
+ {
+ TestProject project = new TestProject()
+ {
+ Name = "AspNetCore21App",
+ TargetFrameworks = "netcoreapp2.1",
+ IsExe = true,
+ IsSdkProject = true,
+ RuntimeFrameworkName = "Microsoft.AspNetCore.App",
+ };
+
+ project.SourceFiles["Program.cs"] = AspNetProgramSource;
+
+ var testAsset = _testAssetsManager.CreateTestProject(project)
+ .Restore(Log, project.Name);
+
+ string projectFolder = Path.Combine(testAsset.Path, project.Name);
+
+ var buildCommand = new BuildCommand(Log, projectFolder);
+
+ buildCommand
+ .Execute()
+ .Should()
+ .Pass();
+
+ string outputFolder = buildCommand.GetOutputDirectory(project.TargetFrameworks).FullName;
+
+ using (var depsJsonFileStream = File.OpenRead(Path.Combine(outputFolder, $"{project.Name}.deps.json")))
+ {
+ var dependencyContext = new DependencyContextJsonReader().Read(depsJsonFileStream);
+ dependencyContext.Should()
+ .OnlyHaveRuntimeAssemblies("", project.Name)
+ .And
+ .HaveNoDuplicateRuntimeAssemblies("")
+ .And
+ .HaveNoDuplicateNativeAssets(""); ;
+ }
+ }
+ }
+}
diff --git a/src/Tests/Microsoft.NET.Restore.Tests/GivenThatWeWantImplicitAspNetCorePackages.cs b/src/Tests/Microsoft.NET.Restore.Tests/GivenThatWeWantImplicitAspNetCorePackages.cs
new file mode 100644
index 000000000000..7b50ff6caa34
--- /dev/null
+++ b/src/Tests/Microsoft.NET.Restore.Tests/GivenThatWeWantImplicitAspNetCorePackages.cs
@@ -0,0 +1,152 @@
+using System.IO;
+using System.Linq;
+using FluentAssertions;
+using Microsoft.NET.TestFramework;
+using Microsoft.NET.TestFramework.Assertions;
+using Microsoft.NET.TestFramework.ProjectConstruction;
+using NuGet.Common;
+using NuGet.Frameworks;
+using NuGet.ProjectModel;
+using Xunit;
+using Xunit.Abstractions;
+
+namespace Microsoft.NET.Restore.Tests
+{
+ public class GivenThatWeWantImplicitAspNetCorePackages : SdkTest
+ {
+ public GivenThatWeWantImplicitAspNetCorePackages(ITestOutputHelper log) : base(log)
+ {
+ }
+
+ [Theory]
+ [InlineData("Microsoft.AspNetCore.App")]
+ [InlineData("Microsoft.AspNetCore.All")]
+ public void It_warns_when_explicit_aspnet_package_ref_exists(string packageId)
+ {
+ const string testProjectName = "AspNetCoreWithExplicitRef";
+ var project = new TestProject
+ {
+ Name = testProjectName,
+ TargetFrameworks = "netcoreapp2.1",
+ IsSdkProject = true,
+ PackageReferences =
+ {
+ new TestPackageReference(packageId, "2.1.0")
+ }
+ };
+
+ var testAsset = _testAssetsManager
+ .CreateTestProject(project)
+ .Restore(Log, project.Name);
+
+ string projectAssetsJsonPath = Path.Combine(
+ testAsset.Path,
+ project.Name,
+ "obj",
+ "project.assets.json");
+
+ var restoreCommand =
+ testAsset.GetRestoreCommand(Log, relativePath: testProjectName);
+ restoreCommand.Execute()
+ .Should().Pass()
+ .And
+ .HaveStdOutContaining("warning NETSDK1071:")
+ .And
+ .HaveStdOutContaining(testProjectName + ".csproj");
+
+ LockFile lockFile = LockFileUtilities.GetLockFile(
+ projectAssetsJsonPath,
+ NullLogger.Instance);
+
+ var target =
+ lockFile.GetTarget(NuGetFramework.Parse(".NETCoreApp,Version=v2.1"), null);
+ var metapackageLibrary =
+ target.Libraries.Single(l => l.Name == packageId);
+ metapackageLibrary.Version.ToString().Should().Be("2.1.0");
+ }
+
+ [Theory]
+ [InlineData("Microsoft.AspNetCore.App")]
+ [InlineData("Microsoft.AspNetCore.All")]
+ public void It_warns_when_aspnet_package_ref_is_overridden(string packageId)
+ {
+ const string testProjectName = "AspNetCoreWithDuplicateRefRef";
+ var project = new TestProject
+ {
+ Name = testProjectName,
+ TargetFrameworks = "netcoreapp2.1",
+ IsSdkProject = true,
+ RuntimeFrameworkName = packageId,
+ PackageReferences =
+ {
+ new TestPackageReference(packageId, "2.1.1")
+ }
+ };
+
+ var testAsset = _testAssetsManager
+ .CreateTestProject(project)
+ .Restore(Log, project.Name);
+
+ string projectAssetsJsonPath = Path.Combine(
+ testAsset.Path,
+ project.Name,
+ "obj",
+ "project.assets.json");
+
+ var restoreCommand =
+ testAsset.GetRestoreCommand(Log, relativePath: testProjectName);
+ restoreCommand.Execute()
+ .Should().Pass()
+ .And
+ .HaveStdOutContaining("warning NETSDK1023:")
+ .And
+ .HaveStdOutContaining(testProjectName + ".csproj");
+ }
+
+ [Theory]
+ [InlineData("Microsoft.AspNetCore.App")]
+ [InlineData("Microsoft.AspNetCore.All")]
+ public void It_restores_when_RuntimeFrameworkName_is_set(string packageId)
+ {
+ const string testProjectName = "RuntimeFrameworkNameProject";
+ var project = new TestProject
+ {
+ Name = testProjectName,
+ TargetFrameworks = "netcoreapp2.1",
+ IsSdkProject = true,
+ RuntimeFrameworkName = packageId,
+ };
+
+ var testAsset = _testAssetsManager
+ .CreateTestProject(project)
+ .Restore(Log, project.Name);
+
+ string projectAssetsJsonPath = Path.Combine(
+ testAsset.Path,
+ project.Name,
+ "obj",
+ "project.assets.json");
+
+ var restoreCommand =
+ testAsset.GetRestoreCommand(Log, relativePath: testProjectName);
+ restoreCommand.Execute()
+ .Should().Pass()
+ .And
+ .NotHaveStdOutContaining("warning");;
+
+ LockFile lockFile = LockFileUtilities.GetLockFile(
+ projectAssetsJsonPath,
+ NullLogger.Instance);
+
+ var target =
+ lockFile.GetTarget(NuGetFramework.Parse(".NETCoreApp,Version=v2.1"), null);
+ var aspnetLibrary =
+ target.Libraries.Single(l => l.Name == packageId);
+ aspnetLibrary.Version.ToString().Should().Be("2.1.1");
+
+ var netcoreLibrary =
+ target.Libraries.Single(l => l.Name == "Microsoft.NETCore.App");
+ netcoreLibrary.Version.ToString().Should().Be("2.1.1");
+ }
+ }
+}
diff --git a/src/Tests/Microsoft.NET.TestFramework/ProjectConstruction/TestProject.cs b/src/Tests/Microsoft.NET.TestFramework/ProjectConstruction/TestProject.cs
index 6e91bd2f7d77..7547c21b301e 100644
--- a/src/Tests/Microsoft.NET.TestFramework/ProjectConstruction/TestProject.cs
+++ b/src/Tests/Microsoft.NET.TestFramework/ProjectConstruction/TestProject.cs
@@ -22,6 +22,8 @@ public class TestProject
public string RuntimeFrameworkVersion { get; set; }
+ public string RuntimeFrameworkName { get; set; }
+
public string RuntimeIdentifier { get; set; }
// TargetFrameworkVersion applies to non-SDK projects
@@ -179,6 +181,11 @@ internal void Create(TestAsset targetTestAsset, string testProjectsSourceFolder)
propertyGroup.Add(new XElement(ns + "TargetFramework", this.TargetFrameworks));
}
+ if (!string.IsNullOrEmpty(this.RuntimeFrameworkName))
+ {
+ propertyGroup.Add(new XElement(ns + "RuntimeFrameworkName", this.RuntimeFrameworkName));
+ }
+
if (!string.IsNullOrEmpty(this.RuntimeFrameworkVersion))
{
propertyGroup.Add(new XElement(ns + "RuntimeFrameworkVersion", this.RuntimeFrameworkVersion));