Skip to content

Commit 1cfd70a

Browse files
chore: Centralize TFM definitions in Directory.Build.props with platform-specific handling (#103)
Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: glennawatson <[email protected]>
1 parent e2490c0 commit 1cfd70a

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

src/Directory.Build.props

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,23 @@
3131
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
3232
</PropertyGroup>
3333

34+
<!-- Define Target Framework Monikers (TFMs) -->
35+
<PropertyGroup>
36+
<!-- Cross-platform TFMs that work on all platforms -->
37+
<NetCoreTargetFrameworks>netstandard2.0;net8.0;net9.0;net10.0</NetCoreTargetFrameworks>
38+
39+
<!-- Windows-only .NET Framework TFMs - only included on Windows builds -->
40+
<NetFrameworkTargetFrameworks Condition="$([MSBuild]::IsOsPlatform('Windows'))">net462;net472</NetFrameworkTargetFrameworks>
41+
42+
<!-- Library projects: netstandard2.0, net462, net472, net8.0, net9.0, net10.0 -->
43+
<LibraryTargetFrameworks>$(NetCoreTargetFrameworks)</LibraryTargetFrameworks>
44+
<LibraryTargetFrameworks Condition="'$(NetFrameworkTargetFrameworks)' != ''">$(LibraryTargetFrameworks);$(NetFrameworkTargetFrameworks)</LibraryTargetFrameworks>
45+
46+
<!-- Test projects: net8.0, net9.0, net10.0, net462, net472 (no netstandard) -->
47+
<TestTargetFrameworks>net8.0;net9.0;net10.0</TestTargetFrameworks>
48+
<TestTargetFrameworks Condition="'$(NetFrameworkTargetFrameworks)' != ''">$(TestTargetFrameworks);$(NetFrameworkTargetFrameworks)</TestTargetFrameworks>
49+
</PropertyGroup>
50+
3451
<ItemGroup Condition="'$(IsTestProject)' != 'true'">
3552
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
3653
</ItemGroup>

src/ReactiveUI.Extensions.Tests/ReactiveUI.Extensions.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net8.0;net9.0;net10.0</TargetFrameworks>
4+
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
55
<IsPackable>false</IsPackable>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<Nullable>enable</Nullable>

src/ReactiveUI.Extensions/ReactiveUI.Extensions.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>netstandard2.0;net8.0;net9.0;net10.0</TargetFrameworks>
4+
<TargetFrameworks>$(LibraryTargetFrameworks)</TargetFrameworks>
55
<PackageReadmeFile>README.md</PackageReadmeFile>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<Nullable>enable</Nullable>

0 commit comments

Comments
 (0)