diff --git a/eng/Versions.props b/eng/Versions.props
index 8564178d7e54..9bf9ce613699 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -15,6 +15,7 @@
15.4.815.4.82.1.0-preview2-26306-03
+ 3.0.0-preview5-27615-042.0.1-servicing-26011-019.0.15.0.0-rtm.5821
diff --git a/src/Assets/TestProjects/HelloWorldWithSubDirs/HelloWorldWithSubDirs.csproj b/src/Assets/TestProjects/HelloWorldWithSubDirs/HelloWorldWithSubDirs.csproj
new file mode 100644
index 000000000000..c24b9a827154
--- /dev/null
+++ b/src/Assets/TestProjects/HelloWorldWithSubDirs/HelloWorldWithSubDirs.csproj
@@ -0,0 +1,18 @@
+
+
+
+ Exe
+ netcoreapp3.0
+
+
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+ $(ExcludeContent)
+
+
+
+
diff --git a/src/Assets/TestProjects/HelloWorldWithSubDirs/Program.cs b/src/Assets/TestProjects/HelloWorldWithSubDirs/Program.cs
new file mode 100644
index 000000000000..27469c19e660
--- /dev/null
+++ b/src/Assets/TestProjects/HelloWorldWithSubDirs/Program.cs
@@ -0,0 +1,17 @@
+using System;
+using System.IO;
+using System.Reflection;
+
+namespace HelloWorldWithSubDirs
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ string baseDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
+ string hello = File.ReadAllText(Path.Combine(baseDir, "SmallNameDir", "word"));
+ string world = File.ReadAllText(Path.Combine(baseDir, "SmallNameDir", "This is a directory with a really long name for one that only contains a small file", ".word"));
+ Console.WriteLine($"{hello} {world}");
+ }
+ }
+}
diff --git a/src/Assets/TestProjects/HelloWorldWithSubDirs/Signature.stamp b/src/Assets/TestProjects/HelloWorldWithSubDirs/Signature.stamp
new file mode 100644
index 000000000000..11cfda16d9b2
--- /dev/null
+++ b/src/Assets/TestProjects/HelloWorldWithSubDirs/Signature.stamp
@@ -0,0 +1 @@
+Signed by .Net Core SDK devs.
\ No newline at end of file
diff --git a/src/Assets/TestProjects/HelloWorldWithSubDirs/SmallNameDir/This is a directory with a really long name for one that only contains a small file/.word b/src/Assets/TestProjects/HelloWorldWithSubDirs/SmallNameDir/This is a directory with a really long name for one that only contains a small file/.word
new file mode 100644
index 000000000000..e5b8f9cece33
--- /dev/null
+++ b/src/Assets/TestProjects/HelloWorldWithSubDirs/SmallNameDir/This is a directory with a really long name for one that only contains a small file/.word
@@ -0,0 +1 @@
+World!
\ No newline at end of file
diff --git a/src/Assets/TestProjects/HelloWorldWithSubDirs/SmallNameDir/word b/src/Assets/TestProjects/HelloWorldWithSubDirs/SmallNameDir/word
new file mode 100644
index 000000000000..5ab2f8a4323a
--- /dev/null
+++ b/src/Assets/TestProjects/HelloWorldWithSubDirs/SmallNameDir/word
@@ -0,0 +1 @@
+Hello
\ No newline at end of file
diff --git a/src/Tasks/Common/Resources/Strings.resx b/src/Tasks/Common/Resources/Strings.resx
index 46a7002eebdf..6b3b2cfbd2df 100644
--- a/src/Tasks/Common/Resources/Strings.resx
+++ b/src/Tasks/Common/Resources/Strings.resx
@@ -505,4 +505,16 @@ The following are names of parameters or literal values and should not be transl
NETSDK1096: Optimizing assemblies for performance failed. You can either exclude the failing assemblies from being optimized, or set the ReadyToRun property to false.{StrBegin="NETSDK1096: "}
+
+ NETSDK1097: It is not supported to publish an application to a single-file without specifying a RuntimeIdentifier. Please either specify a RuntimeIdentifier or set PublishSingleFile to false.
+ {StrBegin="NETSDK1097: "}
+
+
+ NETSDK1098: Applications published to a single-file are required to use the application host. Please either set PublishSingleFile to false or set UseAppHost to true.
+ {StrBegin="NETSDK1098: "}
+
+
+ NETSDK1099: Publishing to a single-file is only supported for executable applications.
+ {StrBegin="NETSDK1099: "}
+
diff --git a/src/Tasks/Common/Resources/xlf/Strings.cs.xlf b/src/Tasks/Common/Resources/xlf/Strings.cs.xlf
index ed5960f162e5..b6c8a7a2975f 100644
--- a/src/Tasks/Common/Resources/xlf/Strings.cs.xlf
+++ b/src/Tasks/Common/Resources/xlf/Strings.cs.xlf
@@ -107,6 +107,21 @@
NETSDK1031: Sestavení nebo publikování nezávislé aplikace bez zadání parametru RuntimeIdentifier není podporované. Zadejte prosím buď parametr RuntimeIdentifier, nebo nastavte parametr SelfContained na hodnotu False.{StrBegin="NETSDK1031: "}
+
+ NETSDK1097: It is not supported to publish an application to a single-file without specifying a RuntimeIdentifier. Please either specify a RuntimeIdentifier or set PublishSingleFile to false.
+ NETSDK1097: It is not supported to publish an application to a single-file without specifying a RuntimeIdentifier. Please either specify a RuntimeIdentifier or set PublishSingleFile to false.
+ {StrBegin="NETSDK1097: "}
+
+
+ NETSDK1098: Applications published to a single-file are required to use the application host. Please either set PublishSingleFile to false or set UseAppHost to true.
+ NETSDK1098: Applications published to a single-file are required to use the application host. Please either set PublishSingleFile to false or set UseAppHost to true.
+ {StrBegin="NETSDK1098: "}
+
+
+ NETSDK1099: Publishing to a single-file is only supported for executable applications.
+ NETSDK1099: Publishing to a single-file is only supported for executable applications.
+ {StrBegin="NETSDK1099: "}
+ NETSDK1013: The TargetFramework value '{0}' was not recognized. It may be misspelled. If not, then the TargetFrameworkIdentifier and/or TargetFrameworkVersion properties must be specified explicitly.NETSDK1013: Hodnota TargetFramework {0} nebyla rozpoznána. Je možné, že obsahuje překlepy. Pokud tomu tak není, musíte vlastnosti TargetFrameworkIdentifier a TargetFrameworkVersion zadat explicitně.
@@ -488,4 +503,4 @@ The following are names of parameters or literal values and should not be transl