Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ jobs:
dotnet-version: |
8.0.x
9.0.x
10.0.x

- name: Restore
run: dotnet restore src/Serialize.Linq.sln
Expand Down Expand Up @@ -61,6 +62,11 @@ jobs:
# Deploy only on pushes to main (mirrors the previous AppVeyor behaviour).
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
shell: pwsh
# Publishes the package version from the csproj <Version> as-is; the
# version is never overridden. --skip-duplicate means an already-published
# version is skipped rather than overwritten, so only a bumped <Version>
# results in a new release.
#
# Expand the glob explicitly: neither dotnet nuget push nor PowerShell
# expands a wildcard argument, so pass each resolved file path. The
# matching .snupkg is pushed automatically alongside its .nupkg.
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ dotnet test src/Serialize.Linq.Tests/Serialize.Linq.Tests.csproj --filter "Fully
dotnet test src/Serialize.Linq.Tests/Serialize.Linq.Tests.csproj --filter "Name=YourTestMethodName"
```

- The main library multi-targets `net48;net481;net6.0;net7.0;net8.0;net9.0;netstandard2.0;netstandard2.1` (see `src/Serialize.Linq/Serialize.Linq.csproj`). Building all targets requires the full set of .NET SDKs / targeting packs installed; restrict with `-f <tfm>` when iterating locally.
- The main library multi-targets `net48;net481;net6.0;net7.0;net8.0;net9.0;net10.0;netstandard2.0;netstandard2.1` (see `src/Serialize.Linq/Serialize.Linq.csproj`). Building all targets requires the full set of .NET SDKs / targeting packs installed; restrict with `-f <tfm>` when iterating locally.
- `GeneratePackageOnBuild` is true, so building the library produces a `.nupkg`. The assembly is strong-name signed with `Serialize.Linq Signing Key.snk`.
- Custom configurations `Debug Optimize Size` / `Release Optimize Size` define the `SERIALIZE_LINQ_OPTIMIZE_SIZE` constant, which shortens serialized XML/JSON property names. When editing `Node`/`ExpressionNode` classes, check for `#if SERIALIZE_LINQ_OPTIMIZE_SIZE` blocks — serialization member names differ between the two builds.

Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ Serialize.Linq has a comprehensive test suite. You can run the tests using your

## Supported Platforms (or known to work with)

- .NET 10.0
- .NET 9.0
- .NET 8.0
- .NET 7.0
Expand Down
31 changes: 24 additions & 7 deletions src/Serialize.Linq/Serialize.Linq.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,13 @@
<AssemblyTitle>Serialize.Linq</AssemblyTitle>
<AssemblyName>Serialize.Linq</AssemblyName>
<Authors>Sascha Kiefer</Authors>
<Copyright>Copyright © 2012-2025</Copyright>
<Copyright>Copyright © 2012-2026</Copyright>
<AssemblyOriginatorKeyFile>Serialize.Linq Signing Key.snk</AssemblyOriginatorKeyFile>
<SignAssembly>true</SignAssembly>
<PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>
<PackageTags>linq;serialize</PackageTags>
<PackageReleaseNotes>
- support for .NET 9.0
- remove BinarySerializer
- support for .NET 10.0
</PackageReleaseNotes>
<PackageProjectUrl>https://github.com/esskar/Serialize.Linq</PackageProjectUrl>
<PackageLicenseUrl></PackageLicenseUrl>
Expand All @@ -29,10 +28,10 @@
</PropertyGroup>

<PropertyGroup>
<TargetFrameworks>net48;net481;net6.0;net7.0;net8.0;net9.0;netstandard2.0;netstandard2.1</TargetFrameworks>
<Version>4.0.0</Version>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<FileVersion>4.0.0.0</FileVersion>
<TargetFrameworks>net48;net481;net6.0;net7.0;net8.0;net9.0;net10.0;netstandard2.0;netstandard2.1</TargetFrameworks>
<Version>4.1.0</Version>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<FileVersion>4.1.0.0</FileVersion>
<PackageLicenseFile>LICENSE</PackageLicenseFile>
</PropertyGroup>

Expand Down Expand Up @@ -154,6 +153,21 @@
<WarningLevel>7</WarningLevel>
</PropertyGroup>

<PropertyGroup
Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net10.0|AnyCPU'">
<WarningLevel>7</WarningLevel>
</PropertyGroup>

<PropertyGroup
Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug Optimize Size|net10.0|AnyCPU'">
<WarningLevel>7</WarningLevel>
</PropertyGroup>

<PropertyGroup
Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release Optimize Size|net10.0|AnyCPU'">
<WarningLevel>7</WarningLevel>
</PropertyGroup>

<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
</ItemGroup>

Expand All @@ -166,6 +180,9 @@
<ItemGroup Condition=" '$(TargetFramework)' == 'net9.0' ">
</ItemGroup>

<ItemGroup Condition=" '$(TargetFramework)' == 'net10.0' ">
</ItemGroup>

<ItemGroup>
<None Include="..\..\LICENSE" Pack="true" PackagePath="" />
<None Include="..\..\README.md" Pack="true" PackagePath="\" />
Expand Down
Loading