diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-CSharp/Company.TestProject1.csproj b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-CSharp/Company.TestProject1.csproj
index 18f0a053fad2..c29acbb86c83 100644
--- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-CSharp/Company.TestProject1.csproj
+++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-CSharp/Company.TestProject1.csproj
@@ -6,17 +6,30 @@
Company.TestProject1
enable
enable
+ Exe
true
false
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-CSharp/xunit.runner.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-CSharp/xunit.runner.json
new file mode 100644
index 000000000000..86c7ea05b16c
--- /dev/null
+++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-CSharp/xunit.runner.json
@@ -0,0 +1,3 @@
+{
+ "$schema": "https://xunit.net/schema/current/xunit.runner.schema.json"
+}
diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-FSharp/Company.TestProject1.fsproj b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-FSharp/Company.TestProject1.fsproj
index de4a2493bc74..b0475294491f 100644
--- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-FSharp/Company.TestProject1.fsproj
+++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-FSharp/Company.TestProject1.fsproj
@@ -4,21 +4,32 @@
net10.0
TargetFrameworkOverride
Company.TestProject1
+ Exe
true
false
- false
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-FSharp/Program.fs b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-FSharp/Program.fs
deleted file mode 100644
index 31dc4f7357bb..000000000000
--- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-FSharp/Program.fs
+++ /dev/null
@@ -1,4 +0,0 @@
-module Program
-
-[]
-let main _ = 0
diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-FSharp/xunit.runner.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-FSharp/xunit.runner.json
new file mode 100644
index 000000000000..86c7ea05b16c
--- /dev/null
+++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-FSharp/xunit.runner.json
@@ -0,0 +1,3 @@
+{
+ "$schema": "https://xunit.net/schema/current/xunit.runner.schema.json"
+}
diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-VisualBasic/Company.TestProject1.vbproj b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-VisualBasic/Company.TestProject1.vbproj
index 1cee0d2456f1..fa23ca052b6a 100644
--- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-VisualBasic/Company.TestProject1.vbproj
+++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-VisualBasic/Company.TestProject1.vbproj
@@ -4,15 +4,28 @@
Company.TestProject1
net10.0
TargetFrameworkOverride
+ Exe
true
false
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-VisualBasic/xunit.runner.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-VisualBasic/xunit.runner.json
new file mode 100644
index 000000000000..86c7ea05b16c
--- /dev/null
+++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.10.0/content/XUnit-VisualBasic/xunit.runner.json
@@ -0,0 +1,3 @@
+{
+ "$schema": "https://xunit.net/schema/current/xunit.runner.schema.json"
+}
diff --git a/test/Microsoft.NET.Build.Tests/ReferenceExeTests.cs b/test/Microsoft.NET.Build.Tests/ReferenceExeTests.cs
index 5ba91d61473e..9308b10b8988 100644
--- a/test/Microsoft.NET.Build.Tests/ReferenceExeTests.cs
+++ b/test/Microsoft.NET.Build.Tests/ReferenceExeTests.cs
@@ -325,7 +325,8 @@ public void ReferencedExeCanRunWhenPublishedWithTrimming(bool referenceExeInCode
[RequiresMSBuildVersionTheory("17.0.0.32901")]
[CombinatorialData]
public void TestProjectCanReferenceExe(
- [CombinatorialValues("xunit", "mstest")] string testTemplateName,
+ // Note: xunit.v3 is always a "real" executable even with VSTest. So it's irrelevant here.
+ [CombinatorialValues("nunit", "mstest")] string testTemplateName,
bool setSelfContainedProperty)
{
var testConsoleProject = new TestProject("ConsoleApp")
@@ -467,7 +468,8 @@ public void MTPNonSelfContainedExecutableCannotBeReferencedBySelfContained(bool
[RequiresMSBuildVersionTheory("17.0.0.32901")]
[CombinatorialData]
public void ExeProjectCanReferenceTestProject(
- [CombinatorialValues("xunit", "mstest")] string testTemplateName,
+ // Note: xunit.v3 is always a "real" executable even with VSTest. So it's irrelevant here.
+ [CombinatorialValues("nunit", "mstest")] string testTemplateName,
bool setSelfContainedProperty,
bool buildWithSelfContainedFromCommandLine)
{