CPObjects.ValueObjects
2.0.0
dotnet add package CPObjects.ValueObjects --version 2.0.0
NuGet\Install-Package CPObjects.ValueObjects -Version 2.0.0
<PackageReference Include="CPObjects.ValueObjects" Version="2.0.0" />
<PackageVersion Include="CPObjects.ValueObjects" Version="2.0.0" />
<PackageReference Include="CPObjects.ValueObjects" />
paket add CPObjects.ValueObjects --version 2.0.0
#r "nuget: CPObjects.ValueObjects, 2.0.0"
#:package CPObjects.ValueObjects@2.0.0
#addin nuget:?package=CPObjects.ValueObjects&version=2.0.0
#tool nuget:?package=CPObjects.ValueObjects&version=2.0.0
CPObjects Project Modernization - Version 2.0.0
Overview
This document outlines the comprehensive modernization effort undertaken for the CPObjects project, upgrading it from legacy .NET Core frameworks to modern .NET 6.0 and .NET 8.0 targets. This update ensures better performance, security, and long-term maintainability.
🚀 What Changed
Framework Modernization
- Removed Legacy Targets: Eliminated support for obsolete frameworks (
netcoreapp2.0,netcoreapp2.1,netcoreapp2.2,netcoreapp3.0,netcoreapp3.1) - Added Modern Targets: Migrated to
net6.0andnet8.0for all projects - Version Bump: Updated all projects to version
2.0.0to reflect the major modernization
Package Updates
Infrastructure Layer
- Npgsql: Updated to
9.0.3(latest PostgreSQL driver) - Microsoft.Data.SqlClient: Updated to
6.1.1(modern SQL Server client) - Removed: Obsolete
System.Data.SqlClientpackage
Dependency Injection & Web Framework
- Autofac: Updated to
8.4.0(latest IoC container) - ASP.NET Core: Migrated to
FrameworkReferencepattern for better performance
Data Access
- Dapper: Updated to
2.1.66(latest micro-ORM)
Testing
- Moq: Updated to
4.20.72(latest mocking framework)
Project Structure
All projects now maintain consistent structure with:
- Modern target frameworks (
net6.0;net8.0) - Automatic package generation enabled
- Consistent versioning scheme (
2.0.0)
📦 Updated Projects
1. CPObjects.ValueObjects
- Target Frameworks: net6.0, net8.0
- Dependencies: None (core value objects)
- Version: 2.0.0
2. CPObjects.Commands
- Target Frameworks: net6.0, net8.0
- Dependencies: References CPObjects.ValueObjects
- Version: 2.0.0
3. CPObjects.Infrastructure
- Target Frameworks: net6.0, net8.0
- Key Packages:
- Npgsql 9.0.3
- Microsoft.Data.SqlClient 6.1.1
- Dependencies: References CPObjects.ValueObjects
- Version: 2.0.0
4. CPObjects.Infra.Finder
- Target Frameworks: net6.0, net8.0
- Key Packages:
- Dapper 2.1.66
- Microsoft.Data.SqlClient 6.1.1
- Dependencies: References CPObjects.Infrastructure, CPObjects.ValueObjects
- Version: 2.0.0
5. CPObjects.Commands.UoW
- Target Frameworks: net6.0, net8.0
- Key Packages:
- Autofac 8.4.0
- Microsoft.AspNetCore.App (FrameworkReference)
- Dependencies: References CPObjects.Commands, CPObjects.Infrastructure
- Version: 2.0.0
6. CPObjects.Infra.Test
- Target Frameworks: net6.0, net8.0
- Key Packages:
- Moq 4.20.72
- Dependencies: References CPObjects.Commands, CPObjects.Infrastructure
🔧 Technical Improvements
Performance Enhancements
- Modern Runtime: Leverages .NET 6/8 performance improvements
- Framework References: Uses optimized ASP.NET Core framework references
- Updated Drivers: Modern database drivers with better performance
Security Updates
- Modern SQL Client: Migrated from deprecated
System.Data.SqlClientto secureMicrosoft.Data.SqlClient - Updated Dependencies: All packages updated to latest secure versions
- Framework Security: Benefits from .NET 6/8 security enhancements
Developer Experience
- Multi-targeting: Supports both LTS (.NET 6) and current (.NET 8) versions
- Package Generation: Automatic NuGet package creation enabled
- Consistent Versioning: Unified version scheme across all projects
⚠️ Compatibility Notes
.NET 6.0 Warnings
During build, you may see warnings about some 9.x packages not being officially tested with .NET 6.0. These are informational warnings that suggest using .NET 8.0 for optimal support, but they do not prevent functionality.
Breaking Changes
- Minimum Framework: Projects now require .NET 6.0 or higher
- Package Dependencies: Applications consuming these packages must target compatible frameworks
- API Compatibility: All public APIs remain backward compatible
🏗️ Build & Deployment
Build Status
- ✅ Successful Build: All projects compile successfully
- ✅ Multi-target Support: Generates assemblies for both net6.0 and net8.0
- ✅ Package Generation: Creates NuGet packages automatically
Build Command
dotnet build
Build Output
- Projects successfully built in ~4 seconds
- 128 informational warnings (non-blocking)
- All target frameworks supported
📋 Migration Checklist
- Update all project target frameworks
- Modernize NuGet package references
- Replace obsolete packages with modern alternatives
- Update version numbers to reflect major changes
- Verify successful build across all targets
- Validate package compatibility
- Update project references
- Clean up deprecated dependencies
🎯 Benefits
For Developers
- Modern Tooling: Access to latest .NET features and improvements
- Better IntelliSense: Enhanced development experience
- Performance: Faster compilation and runtime performance
For Applications
- Security: Latest security patches and improvements
- Performance: Better runtime performance and memory usage
- Compatibility: Forward compatibility with future .NET versions
For Maintenance
- Long-term Support: .NET 6 LTS support until November 2024
- Future-proof: .NET 8 support until November 2026
- Package Updates: Easier to maintain with modern package ecosystem
📞 Support
For questions or issues related to this modernization:
- Check build warnings (most are informational)
- Verify target framework compatibility in consuming applications
- Update consuming projects to support .NET 6.0+ if needed
Modernization Date: October 2025
Version: 2.0.0
Framework Support: .NET 6.0, .NET 8.0
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on CPObjects.ValueObjects:
| Package | Downloads |
|---|---|
|
CPObjects.Infrastructure
Package Description |
|
|
CPObjects.Infra.Finder
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.