ironlicensing-dotnet/IronLicensing.Client.csproj
logikonline 811fb6ceec Add net9.0 support for server/console applications
- Add net9.0 to TargetFrameworks for non-MAUI apps
- Create FileSystemLicenseCache for file-based license storage
- Create Platforms/Net9/MachineIdentifier using Environment APIs
- Add conditional compilation for MAUI vs non-MAUI platforms
- Update ServiceCollectionExtensions for conditional DI registration
- Bump version to 1.2.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 20:52:08 -05:00

72 lines
3.8 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!-- Include net9.0 for server/console apps, plus MAUI platforms -->
<TargetFrameworks>net9.0;net9.0-android;net9.0-ios;net9.0-maccatalyst</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net9.0-windows10.0.19041.0</TargetFrameworks>
<!-- Only use MAUI for platform-specific targets -->
<UseMaui Condition="$(TargetFramework.Contains('-'))">true</UseMaui>
<SingleProject>true</SingleProject>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<PackageOutputPath Condition="$([MSBuild]::IsOSPlatform('windows'))">C:\Users\logik\Dropbox\Nugets</PackageOutputPath>
<PackageOutputPath Condition="$([MSBuild]::IsOSPlatform('osx'))">$(HOME)/Library/CloudStorage/Dropbox/Nugets</PackageOutputPath>
<!-- Define MAUI constant for MAUI platforms -->
<DefineConstants Condition="$(TargetFramework.Contains('-'))">$(DefineConstants);MAUI</DefineConstants>
<!-- Define WINDOWS constant for Windows -->
<DefineConstants Condition="$(TargetFramework.Contains('windows'))">$(DefineConstants);WINDOWS</DefineConstants>
<!-- NuGet Package Properties -->
<PackageId>IronLicensing.Client</PackageId>
<Version>1.2.0</Version>
<Authors>David H Friedel Jr</Authors>
<Company>MarketAlly</Company>
<Description>Client SDK for IronLicensing - Software Licensing Platform. Supports .NET 9.0 server/console apps and MAUI mobile apps.</Description>
<PackageTags>licensing;software;activation;license-key</PackageTags>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageIcon>nuget_il.png</PackageIcon>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">15.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">15.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">21.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>
<TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
</PropertyGroup>
<ItemGroup>
<!-- MAUI only for platform-specific targets -->
<PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiVersion)" Condition="$(TargetFramework.Contains('-'))" />
<PackageReference Include="Microsoft.Extensions.Http" Version="9.0.*" />
<PackageReference Include="System.Text.Json" Version="9.0.*" />
<PackageReference Include="Microsoft.Extensions.Options" Version="9.0.*" />
</ItemGroup>
<!-- Exclude MAUI-specific files from net9.0 -->
<ItemGroup Condition="!$(TargetFramework.Contains('-'))">
<Compile Remove="SecureStorageLicenseCache.cs" />
<Compile Remove="Platforms\Android\**" />
<Compile Remove="Platforms\iOS\**" />
<Compile Remove="Platforms\MacCatalyst\**" />
<Compile Remove="Platforms\Windows\**" />
</ItemGroup>
<!-- Exclude net9.0-specific files from MAUI platforms -->
<ItemGroup Condition="$(TargetFramework.Contains('-'))">
<Compile Remove="FileSystemLicenseCache.cs" />
<Compile Remove="Platforms\Net9\**" />
</ItemGroup>
<ItemGroup>
<None Include="nuget_il.png">
<Pack>true</Pack>
<PackagePath>\</PackagePath>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>true</Visible>
</None>
<None Include="README.md" Pack="true" PackagePath="\" Condition="Exists('README.md')" />
</ItemGroup>
</Project>