Files
nfc-actions/NfcActions/NfcActions.csproj
Amal Graafstra a1d03fec2a Release v1.0.3: Enhanced NDEF reading and UX improvements
Major Improvements:
- Implement exclusive card access with retry logic and exponential backoff
- Fix Type 4 NDEF length parsing (now correctly reads NTAG424 and similar chips)
- Add enhanced card type detection (Type 2 vs Type 4)
- Implement chunked reading for large NDEF messages
- Add proper TLV parsing for Type 2 tags

Bug Fixes:
- Fix WPF window lifecycle issue (visual tree error on reopen)
- Fix NDEF length parsing incorrectly detecting extended format
- Correct data offset for Type 4 tag reading

New Features:
- Multi-line log selection and copy to clipboard
- Context menu with Copy Selected Lines, Copy All, Select All
- Runtime version roll-forward support (.NET 8.0.x compatibility)

Technical Details:
- Type 4 tags now use correct 2-byte NLEN field per NFC Forum spec
- Removed incorrect 3-byte extended length detection
- Window now hides instead of closing for proper tray app behavior
- Connection attempts exclusive access first, falls back to shared mode
- Status timeout increased from 0ms to 1000ms for better card detection
2025-11-18 22:20:13 -08:00

57 lines
2.0 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
<ApplicationIcon>Resources\icon.ico</ApplicationIcon>
<Version>1.0.3</Version>
<AssemblyVersion>1.0.3.0</AssemblyVersion>
<FileVersion>1.0.3.0</FileVersion>
<Company>Dangerous Things</Company>
<Product>NFC Actions</Product>
<Description>NFC card reader monitoring and action automation</Description>
<Copyright>Copyright © 2025 Dangerous Things</Copyright>
<RollForward>LatestMinor</RollForward>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<PublishSingleFile>false</PublishSingleFile>
<SelfContained>true</SelfContained>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<PublishReadyToRun>false</PublishReadyToRun>
<PublishTrimmed>false</PublishTrimmed>
<EnableCompressionInSingleFile>false</EnableCompressionInSingleFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="InputSimulatorCore" Version="1.0.5" />
<PackageReference Include="PCSC" Version="7.0.1" />
<PackageReference Include="PCSC.Iso7816" Version="7.0.1" />
<PackageReference Include="System.Management" Version="9.0.10" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\*.png" />
<Resource Include="Resources\*.ico" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\**\*">
<Link>Resources\%(RecursiveDir)%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</None>
</ItemGroup>
<Target Name="CopyResourcesOnPublish" AfterTargets="Publish">
<ItemGroup>
<ResourceFiles Include="$(ProjectDir)Resources\**\*" />
</ItemGroup>
<Copy SourceFiles="@(ResourceFiles)" DestinationFolder="$(PublishDir)Resources\%(RecursiveDir)" SkipUnchangedFiles="true" />
</Target>
</Project>