Files
ReLibreHardwareMonitor/LibreHardwareMonitor.Windows.WinUI/LibreHardwareMonitor.Windows.WinUI.csproj
T
JMR-devandCopilot 9b576ea633 Extract startup tracing behind IStartupTracer abstraction
Add Microsoft.Extensions.DependencyInjection package and introduce an
IStartupTracer abstraction with NoOpStartupTracer (zero-overhead default)
and FileStartupTracer (renamed from WinUiStartupTrace). A StartupTracer
factory selects the implementation from environment configuration.

Consumers (App, MainWindow, MainWindowViewModel, SensorColumnMeasurer) now
depend on the non-nullable interface, removing null-conditional trace calls
and decoupling startup instrumentation from construction logic. No behavior
change: tracing still writes the same log when enabled.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-02 14:57:48 -05:00

43 lines
2.1 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net10.0-windows10.0.19041.0</TargetFramework>
<TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion>
<Platforms>x64;x86;ARM64</Platforms>
<RuntimeIdentifiers>win-x64;win-x86;win-arm64</RuntimeIdentifiers>
<AssemblyName>LibreHardwareMonitor.Windows.WinUI</AssemblyName>
<AssemblyTitle>Libre Hardware Monitor</AssemblyTitle>
<RootNamespace>LibreHardwareMonitor.Windows.WinUI</RootNamespace>
<ApplicationIcon>..\LibreHardwareMonitor.Windows.Forms\Resources\icon.ico</ApplicationIcon>
<ApplicationManifest>app.manifest</ApplicationManifest>
<UseWinUI>true</UseWinUI>
<WindowsPackageType>None</WindowsPackageType>
<WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>
<!-- Required for resources.pri generation when publishing with PublishSingleFile (unpackaged WinUI app). -->
<EnableMsixTooling>true</EnableMsixTooling>
<OutputPath>..\bin\$(Configuration)\</OutputPath>
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="10.0.8" />
<PackageReference Include="Microsoft.WindowsAppSDK" Version="2.0.1" />
</ItemGroup>
<ItemGroup>
<InternalsVisibleTo Include="LibreHardwareMonitor.Windows.WinUI.Tests" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LibreHardwareMonitorLib\LibreHardwareMonitorLib.csproj" />
</ItemGroup>
<ItemGroup>
<Content Include="..\LibreHardwareMonitor.Windows.Forms\Resources\icon.ico" Link="Resources\icon.ico" CopyToOutputDirectory="PreserveNewest" />
<EmbeddedResource Include="..\LibreHardwareMonitor.Windows.Forms\Resources\PawnIO_setup.exe" Link="Resources\PawnIO_setup.exe" />
<EmbeddedResource Include="..\LibreHardwareMonitor.Windows.Forms\Resources\*.png" LinkBase="Resources" />
<EmbeddedResource Include="..\LibreHardwareMonitor.Windows.Forms\Resources\Web\**" LinkBase="Resources\Web" />
</ItemGroup>
</Project>