diff --git a/src/Installer/redist-installer/targets/GenerateBundledVersions.targets b/src/Installer/redist-installer/targets/GenerateBundledVersions.targets
index 8e6c6e6caf8d..60b5a77f1f12 100644
--- a/src/Installer/redist-installer/targets/GenerateBundledVersions.targets
+++ b/src/Installer/redist-installer/targets/GenerateBundledVersions.targets
@@ -590,6 +590,10 @@ Copyright (c) .NET Foundation. All rights reserved.
TargetFramework="net10.0"
WebAssemblySdkPackVersion="$(MicrosoftNETCoreAppRuntimePackageVersion)" />
+
+
NETSDK1221: NuGetPackageRoot property is empty so package Microsoft.Net.Sdk.Compilers.Toolset cannot be used but it is recommended because your MSBuild and SDK versions are mismatched. Ensure you are building with '/restore /t:Build' and not '/t:Restore;Build'.
{StrBegins="NETSDK1221: "}{Locked="NuGetPackageRoot"}{Locked="Microsoft.Net.Sdk.Compilers.Toolset"}{Locked="'/restore /t:Build'"}{Locked="'/t:Restore;Build'"}
-
+
+ NETSDK1222: ASP.NET Core framework assets are not supported for the target framework.
+ {StrBegins="NETSDK1222: "}
+
+
diff --git a/src/Tasks/Common/Resources/xlf/Strings.cs.xlf b/src/Tasks/Common/Resources/xlf/Strings.cs.xlf
index 44da82458653..71b7502373bc 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.cs.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.cs.xlf
@@ -72,6 +72,11 @@
NETSDK1079: Když se cílí na .NET Core 3.0 nebo vyšší, balíček Microsoft.AspNetCore.All se nepodporuje. Místo něj by se měl použít odkaz FrameworkReference na Microsoft.AspNetCore.App, který se implicitně zahrne pomocí Microsoft.NET.Sdk.Web.{StrBegins="NETSDK1079: "}
+
+
+ NETSDK1222: ASP.NET Core framework assets are not supported for the target framework.
+ {StrBegins="NETSDK1222: "}
+ NETSDK1080: Když se cílí na .NET Core 3.0 a vyšší, odkaz PackageReference na Microsoft.AspNetCore.App není nutný. Pokud se použije Microsoft.NET.Sdk.Web, odkaz na sdílenou architekturu vznikne automaticky. Jinak by se PackageReference mělo nahradit za FrameworkReference.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.de.xlf b/src/Tasks/Common/Resources/xlf/Strings.de.xlf
index a2cede2b57ba..da282ea1e8e7 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.de.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.de.xlf
@@ -72,6 +72,11 @@
NETSDK1079: Das Paket "Microsoft.AspNetCore.All" wird für .NET Core 3.0 oder höher nicht unterstützt. Verwenden Sie stattdessen eine FrameworkReference auf Microsoft.AspNetCore.App, die daraufhin implizit von Microsoft.NET.Sdk.Web eingeschlossen wird.{StrBegins="NETSDK1079: "}
+
+
+ NETSDK1222: ASP.NET Core framework assets are not supported for the target framework.
+ {StrBegins="NETSDK1222: "}
+ NETSDK1080: Eine PackageReference auf Microsoft.AspNetCore.App ist nicht erforderlich, wenn .NET Core 3.0 oder höher als Ziel verwendet wird. Bei Verwendung von Microsoft.NET.Sdk.Web wird das freigegebene Framework automatisch referenziert. Andernfalls muss die PackageReference durch eine FrameworkReference ersetzt werden.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.es.xlf b/src/Tasks/Common/Resources/xlf/Strings.es.xlf
index f50811e7c996..32eff79b1fb6 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.es.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.es.xlf
@@ -72,6 +72,11 @@
NETSDK1079: El paquete Microsoft.AspNetCore.All no se admite cuando el destino es .NET Core 3.0 o posterior. En su lugar, se debe usar un valor de FrameworkReference para Microsoft.AspNetCore.App, y se incluirá implícitamente en Microsoft.NET.Sdk.Web.{StrBegins="NETSDK1079: "}
+
+
+ NETSDK1222: ASP.NET Core framework assets are not supported for the target framework.
+ {StrBegins="NETSDK1222: "}
+ NETSDK1080: No se necesita un valor de PackageReference para Microsoft.AspNetCore.App cuando el destino es .NET Core 3.0 o superior. Si se utiliza Microsoft.NET.Sdk.Web, se hará referencia automáticamente el marco de trabajo compartido. De lo contrario, PackageReference debe sustituirse por un valor de FrameworkReference.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.fr.xlf b/src/Tasks/Common/Resources/xlf/Strings.fr.xlf
index d877f1368aac..f27b89db963c 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.fr.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.fr.xlf
@@ -72,6 +72,11 @@
NETSDK1079: le package Microsoft.AspNetCore.All n'est pas pris en charge pour le ciblage de .NET Core 3.0 ou une version ultérieure. Vous devez utiliser à la place un FrameworkReference pour Microsoft.AspNetCore.App. Il est inclus implicitement par Microsoft.NET.Sdk.Web.{StrBegins="NETSDK1079: "}
+
+
+ NETSDK1222: ASP.NET Core framework assets are not supported for the target framework.
+ {StrBegins="NETSDK1222: "}
+ NETSDK1080: un PackageReference pour Microsoft.AspNetCore.App n'est pas nécessaire quand vous ciblez .NET Core 3.0 ou une version ultérieure. Si Microsoft.NET.Sdk.Web est utilisé, le framework partagé est automatiquement référencé. Sinon, PackageReference doit être remplacé par FrameworkReference.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.it.xlf b/src/Tasks/Common/Resources/xlf/Strings.it.xlf
index bb53556b8cd7..b64fc1d54718 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.it.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.it.xlf
@@ -72,6 +72,11 @@
NETSDK1079: il pacchetto Microsoft.AspNetCore.All non è supportato quando la destinazione è .NET Core 3.0 o versione successiva. È necessario un elemento FrameworkReference per Microsoft.AspNetCore.App, che verrà incluso in modo implicito da Microsoft.NET.Sdk.Web.{StrBegins="NETSDK1079: "}
+
+
+ NETSDK1222: ASP.NET Core framework assets are not supported for the target framework.
+ {StrBegins="NETSDK1222: "}
+ NETSDK1080: non è necessario alcun elemento PackageReference per Microsoft.AspNetCore.App quando la destinazione è .NET Core 3.0 o versione successiva. Se si usa Microsoft.NET.Sdk.Web, il riferimento al framework condiviso verrà inserito automaticamente; in caso contrario, l'elemento PackageReference deve essere sostituito da un elemento FrameworkReference.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.ja.xlf b/src/Tasks/Common/Resources/xlf/Strings.ja.xlf
index 6c58677bca96..cbf1a9fc7304 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.ja.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.ja.xlf
@@ -72,6 +72,11 @@
NETSDK1079: .NET Core 3.0 以上がターゲットの場合、Microsoft.AspNetCore.All パッケージはサポートされていません。代わりに Microsoft.AspNetCore.App への FrameworkReference を使用する必要があり、これは Microsoft.NET.Sdk.Web によって暗黙的に含まれます。{StrBegins="NETSDK1079: "}
+
+
+ NETSDK1222: ASP.NET Core framework assets are not supported for the target framework.
+ {StrBegins="NETSDK1222: "}
+ NETSDK1080: .NET Core 3.0 以上がターゲットの場合、Microsoft.AspNetCore.App への PackageReference は必要ありません。Microsoft.NET.Sdk.Web が使用される場合、この共有フレームワークは自動的に参照されます。そうでない場合、PackageReference を FrameworkReference で置き換える必要があります。
diff --git a/src/Tasks/Common/Resources/xlf/Strings.ko.xlf b/src/Tasks/Common/Resources/xlf/Strings.ko.xlf
index 3eea9b190c61..55dede12ac9b 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.ko.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.ko.xlf
@@ -72,6 +72,11 @@
NETSDK1079: .NET Core 3.0 이상을 대상으로 할 경우 Microsoft.AspNetCore.All 패키지가 지원되지 않습니다. Microsoft.AspNetCore.App에 대한 FrameworkReference가 대신 사용되어야 하며, Microsoft.NET.Sdk.Web에 의해 암시적으로 포함됩니다.{StrBegins="NETSDK1079: "}
+
+
+ NETSDK1222: ASP.NET Core framework assets are not supported for the target framework.
+ {StrBegins="NETSDK1222: "}
+ NETSDK1080: .NET Core 3.0을 이상을 대상으로 할 경우 Microsoft.AspNetCore.App에 대한 PackageReference는 필요하지 않습니다. Microsoft.NET.Sdk.Web이 사용되는 경우 공유 프레임워크가 자동으로 참조됩니다. 그렇지 않은 경우 PackageReference를 FrameworkReference로 바꿔야 합니다.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.pl.xlf b/src/Tasks/Common/Resources/xlf/Strings.pl.xlf
index 77766125772e..ee25744e373b 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.pl.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.pl.xlf
@@ -72,6 +72,11 @@
NETSDK1079: Pakiet Microsoft.AspNetCore.All nie jest obsługiwany w przypadku ukierunkowania na program .NET Core w wersji 3.0 lub wyższej. Zamiast tego powinien zostać użyty element FrameworkReference dla pakietu Microsoft.AspNetCore.App, który zostanie niejawnie uwzględniony przez pakiet Microsoft.NET.Sdk.Web.{StrBegins="NETSDK1079: "}
+
+
+ NETSDK1222: ASP.NET Core framework assets are not supported for the target framework.
+ {StrBegins="NETSDK1222: "}
+ NETSDK1080: Element PackageReference dla pakietu Microsoft.AspNetCore.App nie jest konieczny w przypadku ukierunkowania na program .NET Core w wersji 3.0 lub wyższej. Jeśli używany jest pakiet Microsoft.NET.Sdk.Web, odwołanie do udostępnionej struktury zostanie utworzone automatycznie. W przeciwnym razie element PackageReference powinien zostać zastąpiony elementem FrameworkReference.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf b/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf
index 7f473411bfd2..b985dd5c1351 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf
@@ -72,6 +72,11 @@
NETSDK1079: o pacote Microsoft.AspNetCore.All não tem suporte quando direcionado ao .NET Core 3.0 ou superior. Um FrameworkReference para Microsoft.AspNetCore.App deve ser usado e será incluído implicitamente pelo Microsoft.NET.Sdk.Web.{StrBegins="NETSDK1079: "}
+
+
+ NETSDK1222: ASP.NET Core framework assets are not supported for the target framework.
+ {StrBegins="NETSDK1222: "}
+ NETSDK1080: um PackageReference para Microsoft.AspNetCore.App não é necessário quando direcionado ao .NET Core 3.0 ou superior. Se o Microsoft.NET.Sdk.Web for usado, a estrutura compartilhada será referenciada automaticamente. Caso contrário, o PackageReference deverá ser substituído por um FrameworkReference.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.ru.xlf b/src/Tasks/Common/Resources/xlf/Strings.ru.xlf
index 1dc73061323a..b2c499b154f1 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.ru.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.ru.xlf
@@ -72,6 +72,11 @@
NETSDK1079: The Microsoft.AspNetCore.All package is not supported when targeting .NET Core 3.0 or higher. A FrameworkReference to Microsoft.AspNetCore.App should be used instead, and will be implicitly included by Microsoft.NET.Sdk.Web.{StrBegins="NETSDK1079: "}
+
+
+ NETSDK1222: ASP.NET Core framework assets are not supported for the target framework.
+ {StrBegins="NETSDK1222: "}
+ NETSDK1080: A PackageReference to Microsoft.AspNetCore.App is not necessary when targeting .NET Core 3.0 or higher. If Microsoft.NET.Sdk.Web is used, the shared framework will be referenced automatically. Otherwise, the PackageReference should be replaced with a FrameworkReference.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.tr.xlf b/src/Tasks/Common/Resources/xlf/Strings.tr.xlf
index 7c899032cf2b..fd5d62d087bc 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.tr.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.tr.xlf
@@ -72,6 +72,11 @@
NETSDK1079: Microsoft.AspNetCore.All paketi .NET Core 3.0 veya üzeri hedeflenirken desteklenmez. Bunun yerine Microsoft.AspNetCore.App için bir FrameworkReference kullanılmalıdır. Bu, Microsoft.NET.Sdk.Web tarafından örtük olarak eklenecektir.{StrBegins="NETSDK1079: "}
+
+
+ NETSDK1222: ASP.NET Core framework assets are not supported for the target framework.
+ {StrBegins="NETSDK1222: "}
+ NETSDK1080: .NET Core 3.0 veya üzeri hedeflenirken Microsoft.AspNetCore.App için bir PackageReference gerekmez. Microsoft.NET.Sdk.Web kullanılırsa, paylaşılan çerçeveye otomatik olarak başvurulur. Aksi halde PackageReference FrameworkReference ile değiştirilmelidir.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf b/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf
index 36ce11cb2fa5..ae8198fa5a2b 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf
@@ -72,6 +72,11 @@
NETSDK1079: 当面向 .NET Core 3.0 或更高版本时,不支持 Microsoft.AspNetCore.All 包。应改为使用 Microsoft.AspNetCore.App 的 FrameworkReference,并且 Microsoft.NET.Sdk.Web 将隐式包含它。{StrBegins="NETSDK1079: "}
+
+
+ NETSDK1222: ASP.NET Core framework assets are not supported for the target framework.
+ {StrBegins="NETSDK1222: "}
+ NETSDK1080: 当面向 .NET Core 3.0 或更高版本时,不需要 Microsoft.AspNetCore.App 的 PackageReference。如果使用 Microsoft.NET.Sdk.Web,则将自动引用共享框架。否则,应使用 FrameworkReference 替换 PackageReference。
diff --git a/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf b/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf
index b207353cad21..c1a3e77b9493 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf
@@ -72,6 +72,11 @@
NETSDK1079: 目標為 .NET Core 3.0 或更新的版本時,不支援 Microsoft.AspNetCore.All 套件。應改用 Microsoft.AspNetCore.App 的 FrameworkReference,且會由 Microsoft.NET.Sdk.Web 隱含包含。{StrBegins="NETSDK1079: "}
+
+
+ NETSDK1222: ASP.NET Core framework assets are not supported for the target framework.
+ {StrBegins="NETSDK1222: "}
+ NETSDK1080: 目標為 .NET Core 3.0 或更高的版本時,不需要 Microsoft.AspNetCore.App 的 PackageReference。若是使用 Microsoft.NET.Sdk.Web,將會自動參考共用的架構。否則,應以 FrameworkReference 取代 PackageReference。
diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/ProcessFrameworkReferences.cs b/src/Tasks/Microsoft.NET.Build.Tasks/ProcessFrameworkReferences.cs
index 245aa9bdf5aa..577bcdd34b5a 100644
--- a/src/Tasks/Microsoft.NET.Build.Tasks/ProcessFrameworkReferences.cs
+++ b/src/Tasks/Microsoft.NET.Build.Tasks/ProcessFrameworkReferences.cs
@@ -107,8 +107,12 @@ public class ProcessFrameworkReferences : TaskBase
public ITaskItem[] KnownWebAssemblySdkPacks { get; set; } = Array.Empty();
+ public ITaskItem[] KnownAspNetCorePacks { get; set; } = Array.Empty();
+
public bool UsingMicrosoftNETSdkWebAssembly { get; set; }
+ public bool UsingMicrosoftNETSdkRazor { get; set; }
+
[Required]
public string NETCoreSdkRuntimeIdentifier { get; set; }
@@ -498,6 +502,14 @@ protected override void ExecuteCore()
AddToolPack(ToolPackType.WebAssemblySdk, _normalizedTargetFrameworkVersion, packagesToDownload, implicitPackageReferences);
}
+ if (UsingMicrosoftNETSdkRazor && _normalizedTargetFrameworkVersion.Major >= 10)
+ {
+ if (AddToolPack(ToolPackType.AspNetCore, _normalizedTargetFrameworkVersion, packagesToDownload, implicitPackageReferences) is not ToolPackSupport.Supported)
+ {
+ Log.LogWarning(Strings.AspNetCorePackUnsupportedTargetFramework);
+ }
+ }
+
if (packagesToDownload.Any())
{
PackagesToDownload = packagesToDownload.Distinct(new PackageToDownloadComparer()).ToArray();
@@ -727,7 +739,8 @@ private enum ToolPackType
Crossgen2,
ILCompiler,
ILLink,
- WebAssemblySdk
+ WebAssemblySdk,
+ AspNetCore,
}
enum ToolPackSupport
@@ -750,6 +763,7 @@ private ToolPackSupport AddToolPack(
ToolPackType.ILCompiler => KnownILCompilerPacks,
ToolPackType.ILLink => KnownILLinkPacks,
ToolPackType.WebAssemblySdk => KnownWebAssemblySdkPacks,
+ ToolPackType.AspNetCore => KnownAspNetCorePacks,
_ => throw new ArgumentException($"Unknown package type {toolPackType}", nameof(toolPackType))
};
diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets
index 97e4c5348de2..84885ab5514a 100644
--- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets
+++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets
@@ -130,7 +130,9 @@ Copyright (c) .NET Foundation. All rights reserved.
KnownILCompilerPacks="@(KnownILCompilerPack)"
KnownILLinkPacks="@(KnownILLinkPack)"
KnownWebAssemblySdkPacks="@(KnownWebAssemblySdkPack)"
+ KnownAspNetCorePacks="@(KnownAspNetCorePack)"
UsingMicrosoftNETSdkWebAssembly="$(UsingMicrosoftNETSdkWebAssembly)"
+ UsingMicrosoftNETSdkRazor="$(UsingMicrosoftNETSdkRazor)"
NETCoreSdkRuntimeIdentifier="$(NETCoreSdkRuntimeIdentifier)"
NETCoreSdkPortableRuntimeIdentifier="$(NETCoreSdkPortableRuntimeIdentifier)"
NetCoreRoot="$(NetCoreRoot)"