diff --git a/Directory.Build.props b/Directory.Build.props
index ea12ca71919bc1..2ec01ea57e6b7f 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -68,6 +68,12 @@
net472
+
+ $(NetFrameworkToolCurrent)
+
+
+
+ $(NetCoreAppToolCurrent)
diff --git a/src/libraries/sendtohelix-wasm.targets b/src/libraries/sendtohelix-wasm.targets
index f376529b68ebb0..cdd77a64d0af62 100644
--- a/src/libraries/sendtohelix-wasm.targets
+++ b/src/libraries/sendtohelix-wasm.targets
@@ -97,7 +97,7 @@
true
- true
+
true
false
diff --git a/src/mono/nuget/Microsoft.NET.Runtime.MonoAOTCompiler.Task/Microsoft.NET.Runtime.MonoAOTCompiler.Task.pkgproj b/src/mono/nuget/Microsoft.NET.Runtime.MonoAOTCompiler.Task/Microsoft.NET.Runtime.MonoAOTCompiler.Task.pkgproj
index 1cf00b6a1ede1e..e5a5b52244306c 100644
--- a/src/mono/nuget/Microsoft.NET.Runtime.MonoAOTCompiler.Task/Microsoft.NET.Runtime.MonoAOTCompiler.Task.pkgproj
+++ b/src/mono/nuget/Microsoft.NET.Runtime.MonoAOTCompiler.Task/Microsoft.NET.Runtime.MonoAOTCompiler.Task.pkgproj
@@ -8,9 +8,28 @@
-
+
+
+ $(IntermediateOutputPath)Sdk.props
+
+
+
+ <_ReplacementValue Include="TargetFrameworkForNETCoreTasks" Value="$(TargetFrameworkForNETCoreTasks)" />
+ <_ReplacementValue Include="TargetFrameworkForNETFrameworkTasks" Value="$(TargetFrameworkForNETFrameworkTasks)" />
+
+
+
+
+
+
+
+
+
diff --git a/src/mono/nuget/Microsoft.NET.Runtime.MonoAOTCompiler.Task/Sdk/Sdk.props b/src/mono/nuget/Microsoft.NET.Runtime.MonoAOTCompiler.Task/Sdk/Sdk.props
deleted file mode 100644
index a94224b1858fea..00000000000000
--- a/src/mono/nuget/Microsoft.NET.Runtime.MonoAOTCompiler.Task/Sdk/Sdk.props
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
- $(MSBuildThisFileDirectory)..\tasks\net6.0\MonoAOTCompiler.dll
- $(MSBuildThisFileDirectory)..\tasks\net472\MonoAOTCompiler.dll
-
-
-
diff --git a/src/mono/nuget/Microsoft.NET.Runtime.MonoAOTCompiler.Task/Sdk/Sdk.props.in b/src/mono/nuget/Microsoft.NET.Runtime.MonoAOTCompiler.Task/Sdk/Sdk.props.in
new file mode 100644
index 00000000000000..bc14a619299e1e
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Runtime.MonoAOTCompiler.Task/Sdk/Sdk.props.in
@@ -0,0 +1,7 @@
+
+
+ $(MSBuildThisFileDirectory)..\tasks\${TargetFrameworkForNETCoreTasks}\MonoAOTCompiler.dll
+ $(MSBuildThisFileDirectory)..\tasks\${TargetFrameworkForNETFrameworkTasks}\MonoAOTCompiler.dll
+
+
+
diff --git a/src/mono/nuget/Microsoft.NET.Runtime.MonoTargets.Sdk/Microsoft.NET.Runtime.MonoTargets.Sdk.pkgproj b/src/mono/nuget/Microsoft.NET.Runtime.MonoTargets.Sdk/Microsoft.NET.Runtime.MonoTargets.Sdk.pkgproj
index a38b1d301e61d2..8d9e3dea06baf8 100644
--- a/src/mono/nuget/Microsoft.NET.Runtime.MonoTargets.Sdk/Microsoft.NET.Runtime.MonoTargets.Sdk.pkgproj
+++ b/src/mono/nuget/Microsoft.NET.Runtime.MonoTargets.Sdk/Microsoft.NET.Runtime.MonoTargets.Sdk.pkgproj
@@ -13,9 +13,28 @@
-
+
+
+ $(IntermediateOutputPath)MonoTargetsTasks.props
+
+
+
+ <_ReplacementValue Include="TargetFrameworkForNETCoreTasks" Value="$(TargetFrameworkForNETCoreTasks)" />
+ <_ReplacementValue Include="TargetFrameworkForNETFrameworkTasks" Value="$(TargetFrameworkForNETFrameworkTasks)" />
+
+
+
+
+
+
+
+
+
diff --git a/src/mono/nuget/Microsoft.NET.Runtime.MonoTargets.Sdk/Sdk/MonoTargetsTasks.props b/src/mono/nuget/Microsoft.NET.Runtime.MonoTargets.Sdk/Sdk/MonoTargetsTasks.props.in
similarity index 81%
rename from src/mono/nuget/Microsoft.NET.Runtime.MonoTargets.Sdk/Sdk/MonoTargetsTasks.props
rename to src/mono/nuget/Microsoft.NET.Runtime.MonoTargets.Sdk/Sdk/MonoTargetsTasks.props.in
index 7fe32897283ba8..4ef325f421be72 100644
--- a/src/mono/nuget/Microsoft.NET.Runtime.MonoTargets.Sdk/Sdk/MonoTargetsTasks.props
+++ b/src/mono/nuget/Microsoft.NET.Runtime.MonoTargets.Sdk/Sdk/MonoTargetsTasks.props.in
@@ -1,7 +1,7 @@
- $(MSBuildThisFileDirectory)..\tasks\net6.0\MonoTargetsTasks.dll
- $(MSBuildThisFileDirectory)..\tasks\net472\MonoTargetsTasks.dll
+ $(MSBuildThisFileDirectory)..\tasks\${TargetFrameworkForNETCoreTasks}\MonoTargetsTasks.dll
+ $(MSBuildThisFileDirectory)..\tasks\${TargetFrameworkForNETFrameworkTasks}\MonoTargetsTasks.dll
diff --git a/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Microsoft.NET.Runtime.WebAssembly.Sdk.pkgproj b/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Microsoft.NET.Runtime.WebAssembly.Sdk.pkgproj
index 874775fe7e47f2..3116e9955cfcd3 100644
--- a/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Microsoft.NET.Runtime.WebAssembly.Sdk.pkgproj
+++ b/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Microsoft.NET.Runtime.WebAssembly.Sdk.pkgproj
@@ -9,7 +9,6 @@
-
@@ -17,5 +16,25 @@
+
+
+ $(IntermediateOutputPath)Sdk.targets
+
+
+
+ <_ReplacementValue Include="TargetFrameworkForNETCoreTasks" Value="$(TargetFrameworkForNETCoreTasks)" />
+ <_ReplacementValue Include="TargetFrameworkForNETFrameworkTasks" Value="$(TargetFrameworkForNETFrameworkTasks)" />
+
+
+
+
+
+
+
+
+
diff --git a/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Sdk/Sdk.targets b/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Sdk/Sdk.targets.in
similarity index 76%
rename from src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Sdk/Sdk.targets
rename to src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Sdk/Sdk.targets.in
index 2c2959c87e53a4..0a6137cd8c4edd 100644
--- a/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Sdk/Sdk.targets
+++ b/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Sdk/Sdk.targets.in
@@ -1,8 +1,8 @@
- <_TasksDir Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tasks\net6.0\
- <_TasksDir Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tasks\net472\
+ <_TasksDir Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tasks\${TargetFrameworkForNETCoreTasks}\
+ <_TasksDir Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tasks\${TargetFrameworkForNETFrameworkTasks}\
$(_TasksDir)WasmAppBuilder.dll
$(_TasksDir)WasmBuildTasks.dll
diff --git a/src/mono/wasm/build/WasmApp.InTree.props b/src/mono/wasm/build/WasmApp.InTree.props
index ab70ccd739d44a..7f655768c8e737 100644
--- a/src/mono/wasm/build/WasmApp.InTree.props
+++ b/src/mono/wasm/build/WasmApp.InTree.props
@@ -5,7 +5,7 @@
AnyCPU
false
- $(NetCoreAppToolCurrent)
+ $(NetCoreAppCurrent)
$([MSBuild]::NormalizeDirectory($(MonoProjectRoot), 'wasm', 'emsdk'))
false
true
diff --git a/src/mono/wasm/templates/Microsoft.NET.Runtime.WebAssembly.Templates.csproj b/src/mono/wasm/templates/Microsoft.NET.Runtime.WebAssembly.Templates.csproj
index 77f730d55b23db..dfe18d9b0042fe 100644
--- a/src/mono/wasm/templates/Microsoft.NET.Runtime.WebAssembly.Templates.csproj
+++ b/src/mono/wasm/templates/Microsoft.NET.Runtime.WebAssembly.Templates.csproj
@@ -8,7 +8,7 @@
Templates to create WebAssembly projects.
dotnet-new;templates
- net6.0
+ $(NetCoreAppToolCurrent)
true
false
diff --git a/src/tasks/Directory.Build.props b/src/tasks/Directory.Build.props
deleted file mode 100644
index 887be3a86036fb..00000000000000
--- a/src/tasks/Directory.Build.props
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- net472
-
-
-
- net6.0
-
-
diff --git a/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcSocket.cs b/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcSocket.cs
index 27b0b07d683243..921ebc2dddb96b 100644
--- a/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcSocket.cs
+++ b/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcSocket.cs
@@ -23,7 +23,7 @@ public IpcSocket(AddressFamily addressFamily, SocketType socketType, ProtocolTyp
}
// .NET 6 implements this method directly on Socket, but for earlier runtimes we need a polyfill
-#if !NET6_0
+#if !NET6_0_OR_GREATER
public async Task AcceptAsync(CancellationToken token)
{
using (token.Register(() => Close(0)))
@@ -63,7 +63,7 @@ public virtual void Connect(EndPoint remoteEP, TimeSpan timeout)
}
// .NET 6 implements this method directly on Socket, but for earlier runtimes we need a polyfill
-#if !NET6_0
+#if !NET6_0_OR_GREATER
public async Task ConnectAsync(EndPoint remoteEP, CancellationToken token)
{
using (token.Register(() => Close(0)))