diff --git a/src/Tasks/Common/Resources/Strings.resx b/src/Tasks/Common/Resources/Strings.resx
index 527418c3a435..c74ca0b843dd 100644
--- a/src/Tasks/Common/Resources/Strings.resx
+++ b/src/Tasks/Common/Resources/Strings.resx
@@ -981,9 +981,13 @@ You may need to build the project on another operating system or architecture, o
NETSDK1224: ASP.NET Core framework assets are not supported for the target framework.{StrBegins="NETSDK1224: "}
-
NETSDK1225: Native compilation is not supported when invoking the Publish target directly. Try running dotnet publish.{StrBegins="NETSDK1225: "}
+
+
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ {StrBegins="NETSDK1226: "}
+
diff --git a/src/Tasks/Common/Resources/xlf/Strings.cs.xlf b/src/Tasks/Common/Resources/xlf/Strings.cs.xlf
index dab129a08c52..b6958a3372ee 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.cs.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.cs.xlf
@@ -806,6 +806,11 @@ The following are names of parameters or literal values and should not be transl
NETSDK1193: Pokud je nastavená hodnota PublishSelfContained, musí být buď true, nebo false. Zadaná hodnota byla {0}.{StrBegins="NETSDK1193: "}
+
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ {StrBegins="NETSDK1226: "}
+ NETSDK1123: Publishing an application to a single-file requires .NET Core 3.0 or higher.NETSDK1123: Publikování aplikace do jednoho souboru vyžaduje architekturu .NET Core 3.0 nebo vyšší.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.de.xlf b/src/Tasks/Common/Resources/xlf/Strings.de.xlf
index 9e39c2d5bd3e..4acc26a6e7cd 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.de.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.de.xlf
@@ -806,6 +806,11 @@ The following are names of parameters or literal values and should not be transl
NETSDK1193: Wenn PublishSelfContained festgelegt ist, muss es entweder "true" oder "false" sein. Der angegebene Wert war "{0}".{StrBegins="NETSDK1193: "}
+
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ {StrBegins="NETSDK1226: "}
+ NETSDK1123: Publishing an application to a single-file requires .NET Core 3.0 or higher.NETSDK1123: Zum Veröffentlichen einer Anwendung in einer einzelnen Datei ist .NET Core 3.0 oder höher erforderlich.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.es.xlf b/src/Tasks/Common/Resources/xlf/Strings.es.xlf
index ea92a565fb71..3c7ca9394bfd 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.es.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.es.xlf
@@ -806,6 +806,11 @@ The following are names of parameters or literal values and should not be transl
NETSDK1193: si se establece PublishSelfContained, debe ser true o false. El valor dado era “{0}”.{StrBegins="NETSDK1193: "}
+
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ {StrBegins="NETSDK1226: "}
+ NETSDK1123: Publishing an application to a single-file requires .NET Core 3.0 or higher.NETSDK1123: La publicación de una aplicación en un único archivo requiere .NET Core 3.0 o versiones posteriores.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.fr.xlf b/src/Tasks/Common/Resources/xlf/Strings.fr.xlf
index 2ad426ab793a..ccfc9d661457 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.fr.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.fr.xlf
@@ -806,6 +806,11 @@ The following are names of parameters or literal values and should not be transl
NETSDK1193: Si PublishSelfContained est défini, il doit avoir la valeur true ou false. La valeur donnée a été '{0}'.{StrBegins="NETSDK1193: "}
+
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ {StrBegins="NETSDK1226: "}
+ NETSDK1123: Publishing an application to a single-file requires .NET Core 3.0 or higher.NETSDK1123: la publication d'une application sur un seul fichier nécessite .NET Core 3.0 ou une version ultérieure.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.it.xlf b/src/Tasks/Common/Resources/xlf/Strings.it.xlf
index 1319141e2c98..4fecb2837834 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.it.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.it.xlf
@@ -806,6 +806,11 @@ The following are names of parameters or literal values and should not be transl
NETSDK1193: se PublishSelfContained è impostato, deve essere true o false. Il valore specificato è '{0}'.{StrBegins="NETSDK1193: "}
+
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ {StrBegins="NETSDK1226: "}
+ NETSDK1123: Publishing an application to a single-file requires .NET Core 3.0 or higher.NETSDK1123: per la pubblicazione di un'applicazione in un file singolo è richiesto .NET Core 3.0 o versioni successive.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.ja.xlf b/src/Tasks/Common/Resources/xlf/Strings.ja.xlf
index 2098ed8a25df..86c671ae9870 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.ja.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.ja.xlf
@@ -806,6 +806,11 @@ The following are names of parameters or literal values and should not be transl
NETSDK1193: PublishSelfContained が設定されている場合、true または false のいずれかにする必要があります。指定された値は '{0}' でした。{StrBegins="NETSDK1193: "}
+
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ {StrBegins="NETSDK1226: "}
+ NETSDK1123: Publishing an application to a single-file requires .NET Core 3.0 or higher.NETSDK1123: アプリケーションを 1 つのファイルに発行するには、.NET Core 3.0 以降が必要です。
diff --git a/src/Tasks/Common/Resources/xlf/Strings.ko.xlf b/src/Tasks/Common/Resources/xlf/Strings.ko.xlf
index 81883f27da98..7ecf353ecae6 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.ko.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.ko.xlf
@@ -806,6 +806,11 @@ The following are names of parameters or literal values and should not be transl
NETSDK1193: PublishSelfContained가 설정된 경우 true 또는 false여야 합니다. 지정된 값은 '{0}'입니다.{StrBegins="NETSDK1193: "}
+
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ {StrBegins="NETSDK1226: "}
+ NETSDK1123: Publishing an application to a single-file requires .NET Core 3.0 or higher.NETSDK1123: 애플리케이션을 단일 파일에 게시하려면 .NET Core 3.0 이상이 필요합니다.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.pl.xlf b/src/Tasks/Common/Resources/xlf/Strings.pl.xlf
index 60213f327eba..ad517ff5bdb9 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.pl.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.pl.xlf
@@ -806,6 +806,11 @@ The following are names of parameters or literal values and should not be transl
NETSDK1193: Jeśli właściwość PublishSelfContained jest ustawiona, musi mieć wartość true lub false. Podana wartość to „{0}”.{StrBegins="NETSDK1193: "}
+
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ {StrBegins="NETSDK1226: "}
+ NETSDK1123: Publishing an application to a single-file requires .NET Core 3.0 or higher.NETSDK1123: Publikowanie aplikacji do pojedynczego pliku wymaga platformy .NET Core 3.0 lub nowszej.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf b/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf
index f2f9ab663c41..746bed969f0b 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf
@@ -806,6 +806,11 @@ The following are names of parameters or literal values and should not be transl
NETSDK1193: se PublishSelfContained estiver definido, ele deverá ser true ou false. O valor fornecido foi '{0} '.{StrBegins="NETSDK1193: "}
+
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ {StrBegins="NETSDK1226: "}
+ NETSDK1123: Publishing an application to a single-file requires .NET Core 3.0 or higher.NETSDK1123: a publicação de um aplicativo em um único arquivo exige o .NET Core 3.0 ou superior.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.ru.xlf b/src/Tasks/Common/Resources/xlf/Strings.ru.xlf
index 8991f7c09817..a6eb8a3682a3 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.ru.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.ru.xlf
@@ -806,6 +806,11 @@ The following are names of parameters or literal values and should not be transl
NETSDK1193: If PublishSelfContained is set, it must be either true or false. The value given was '{0}'.{StrBegins="NETSDK1193: "}
+
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ {StrBegins="NETSDK1226: "}
+ NETSDK1123: Publishing an application to a single-file requires .NET Core 3.0 or higher.NETSDK1123: Publishing an application to a single-file requires .NET Core 3.0 or higher.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.tr.xlf b/src/Tasks/Common/Resources/xlf/Strings.tr.xlf
index 5dd830aee234..5c3516041d13 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.tr.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.tr.xlf
@@ -806,6 +806,11 @@ The following are names of parameters or literal values and should not be transl
NETSDK1193: PublishSelfContained ayarlanmışsa değeri true veya false olmalıdır. Verilen değer '{0}'.{StrBegins="NETSDK1193: "}
+
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ {StrBegins="NETSDK1226: "}
+ NETSDK1123: Publishing an application to a single-file requires .NET Core 3.0 or higher.NETSDK1123: Bir uygulamayı tek bir dosyada yayımlamak için .NET Core 3.0 veya üzeri gerekir.
diff --git a/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf b/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf
index 2fd1f72f629e..c0a4d9830e5c 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf
@@ -806,6 +806,11 @@ The following are names of parameters or literal values and should not be transl
NETSDK1193: 如果已设置 PublishSelfContained,则它必须为 true 或 false。给定的值为“{0}”。{StrBegins="NETSDK1193: "}
+
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ {StrBegins="NETSDK1226: "}
+ NETSDK1123: Publishing an application to a single-file requires .NET Core 3.0 or higher.NETSDK1123: 将应用程序发布到单个文件需要 .NET Core 3.0 或更高版本。
diff --git a/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf b/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf
index 9085e387657e..bdbb4733d92d 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf
@@ -806,6 +806,11 @@ The following are names of parameters or literal values and should not be transl
NETSDK1193: 如果已設定 PublishSelfContained,它必須是 True 或 False。提供的值是 '{0}'。{StrBegins="NETSDK1193: "}
+
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ NETSDK1226: PublishSelfContained is not supported when invoking the Publish target directly. Try running dotnet publish, or set SelfContained to true.
+ {StrBegins="NETSDK1226: "}
+ NETSDK1123: Publishing an application to a single-file requires .NET Core 3.0 or higher.NETSDK1123: 將應用程式發行至單一檔案需使用 .NET Core 3.0 或更高版本。
diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets
index 6c484d0c4c16..2d2578e12de0 100644
--- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets
+++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets
@@ -219,6 +219,12 @@ Copyright (c) .NET Foundation. All rights reserved.
ResourceName="SolutionProjectConfigurationsConflict"
FormatArguments="PublishRelease;$(ProjectName)"/>
+
+
Exe$(CurrentTargetFramework)
+ true