 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>
		
			
				
	
	
		
			54 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="utf-8"?>
 | |
| <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | |
|   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
 | |
|   <PropertyGroup>
 | |
|     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
 | |
|     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
 | |
|     <ProjectGuid>{12345678-1234-1234-1234-123456789ABC}</ProjectGuid>
 | |
|     <OutputType>Exe</OutputType>
 | |
|     <RootNamespace>V2GDecoderNetFx</RootNamespace>
 | |
|     <AssemblyName>V2GDecoderNetFx</AssemblyName>
 | |
|     <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
 | |
|     <FileAlignment>512</FileAlignment>
 | |
|     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
 | |
|     <Deterministic>true</Deterministic>
 | |
|     <LangVersion>7.3</LangVersion>
 | |
|   </PropertyGroup>
 | |
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
 | |
|     <PlatformTarget>AnyCPU</PlatformTarget>
 | |
|     <DebugSymbols>true</DebugSymbols>
 | |
|     <DebugType>full</DebugType>
 | |
|     <Optimize>false</Optimize>
 | |
|     <OutputPath>bin\Debug\</OutputPath>
 | |
|     <DefineConstants>DEBUG;TRACE</DefineConstants>
 | |
|     <ErrorReport>prompt</ErrorReport>
 | |
|     <WarningLevel>4</WarningLevel>
 | |
|   </PropertyGroup>
 | |
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | |
|     <PlatformTarget>AnyCPU</PlatformTarget>
 | |
|     <DebugType>pdbonly</DebugType>
 | |
|     <Optimize>true</Optimize>
 | |
|     <OutputPath>bin\Release\</OutputPath>
 | |
|     <DefineConstants>TRACE</DefineConstants>
 | |
|     <ErrorReport>prompt</ErrorReport>
 | |
|     <WarningLevel>4</WarningLevel>
 | |
|   </PropertyGroup>
 | |
|   <ItemGroup>
 | |
|     <Reference Include="System" />
 | |
|     <Reference Include="System.Core" />
 | |
|     <Reference Include="System.Xml.Linq" />
 | |
|     <Reference Include="System.Data.DataSetExtensions" />
 | |
|     <Reference Include="Microsoft.CSharp" />
 | |
|     <Reference Include="System.Data" />
 | |
|     <Reference Include="System.Net.Http" />
 | |
|     <Reference Include="System.Xml" />
 | |
|   </ItemGroup>
 | |
|   <ItemGroup>
 | |
|     <Compile Include="Program.cs" />
 | |
|     <Compile Include="Properties\AssemblyInfo.cs" />
 | |
|   </ItemGroup>
 | |
|   <ItemGroup>
 | |
|     <None Include="App.config" />
 | |
|   </ItemGroup>
 | |
|   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 | |
| </Project> |