 fe368f2d23
			
		
	
	fe368f2d23
	
	
	
		
			
			This commit adds comprehensive C# ports of the OpenV2G EXI codec to support both modern .NET and legacy .NET Framework environments. ## .NET 8.0 Version (csharp/dotnet/) - Full-featured port with complete EXI codec implementation - Modern C# features (nullable types, switch expressions, using declarations) - Comprehensive roundtrip testing functionality - Successfully processes all test files (test1.exi - test5.exi) - Supports decode/encode/analyze/test commands ## .NET Framework 4.8 Version (csharp/dotnetfx/) - Simplified but functional port for legacy environments - C# 7.3 compatible codebase - Core V2GTP protocol parsing and analysis - Roundtrip demonstration functionality - Successfully processes all test files ## Validation Results Both versions successfully tested with all available test files: - test1.exi (131 bytes) → XML → EXI roundtrip ✓ - test2.exi (51 bytes) → XML → EXI roundtrip ✓ - test3.exi (43 bytes) → XML → EXI roundtrip ✓ - test4.exi (43 bytes) → XML → EXI roundtrip ✓ - test5.exi (43 bytes) → XML → EXI roundtrip ✓ ## Technical Implementation - Proper V2GTP header parsing and EXI body extraction - XML generation with valid structure for testing - Binary EXI encoding for roundtrip validation - Cross-platform compatibility maintained - Build systems: dotnet CLI (.NET 8.0) and MSBuild (.NET FX 4.8) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System.Reflection;
 | |
| using System.Runtime.CompilerServices;
 | |
| using System.Runtime.InteropServices;
 | |
| 
 | |
| // General Information about an assembly is controlled through the following
 | |
| // set of attributes. Change these attribute values to modify the information
 | |
| // associated with an assembly.
 | |
| [assembly: AssemblyTitle("V2GDecoderNetFx")]
 | |
| [assembly: AssemblyDescription("C# .NET Framework 4.8 port of OpenV2G EXI codec for V2G protocol messages")]
 | |
| [assembly: AssemblyConfiguration("")]
 | |
| [assembly: AssemblyCompany("V2GDecoder Port")]
 | |
| [assembly: AssemblyProduct("V2GDecoderNetFx")]
 | |
| [assembly: AssemblyCopyright("Copyright © 2024")]
 | |
| [assembly: AssemblyTrademark("")]
 | |
| [assembly: AssemblyCulture("")]
 | |
| 
 | |
| // Setting ComVisible to false makes the types in this assembly not visible
 | |
| // to COM components.  If you need to access a type in this assembly from
 | |
| // COM, set the ComVisible attribute to true on that type.
 | |
| [assembly: ComVisible(false)]
 | |
| 
 | |
| // The following GUID is for the ID of the typelib if this project is exposed to COM
 | |
| [assembly: Guid("12345678-1234-1234-1234-123456789abc")]
 | |
| 
 | |
| // Version information for an assembly consists of the following four values:
 | |
| //
 | |
| //      Major Version
 | |
| //      Minor Version
 | |
| //      Build Number
 | |
| //      Revision
 | |
| //
 | |
| // You can specify all the values or you can default the Build and Revision Numbers
 | |
| // by using the '*' as shown below:
 | |
| // [assembly: AssemblyVersion("1.0.*")]
 | |
| [assembly: AssemblyVersion("1.0.0.0")]
 | |
| [assembly: AssemblyFileVersion("1.0.0.0")] |