11<Project Sdk =" Microsoft.NET.Sdk" >
22
3- <PropertyGroup >
4- <TargetFramework >net8.0-windows10.0.17763.0</TargetFramework >
5- <Nullable >enable</Nullable >
6- <UseWPF >true</UseWPF >
7- <ImplicitUsings >enable</ImplicitUsings >
8- <OutputType >WinExe</OutputType >
9- <AllowUnsafeBlocks >true</AllowUnsafeBlocks >
10- <StartupObject >SpectrumNet.App</StartupObject >
11- <ApplicationIcon >spectrum.ico</ApplicationIcon >
12- <UseWindowsForms >True</UseWindowsForms >
13- <SupportedOSPlatformVersion >10.0.17763.0</SupportedOSPlatformVersion >
14- </PropertyGroup >
15-
16- <ItemGroup >
17- <Content Include =" spectrum.ico" />
18- </ItemGroup >
19-
20- <ItemGroup >
21- <PackageReference Include =" Microsoft.Extensions.Configuration.Json" Version =" 9.0.4" />
22- <PackageReference Include =" Microsoft.Extensions.Logging" Version =" 9.0.4" />
23- <PackageReference Include =" Microsoft.Extensions.Logging.Console" Version =" 9.0.4" />
24- <PackageReference Include =" Microsoft.Extensions.Logging.Debug" Version =" 9.0.4" Condition =" '$(Configuration)' != 'Release'" />
25- <PackageReference Include =" Microsoft.Extensions.ObjectPool" Version =" 9.0.4" />
26- <PackageReference Include =" NAudio" Version =" 2.2.1" />
27- <PackageReference Include =" Newtonsoft.Json" Version =" 13.0.3" />
28- <PackageReference Include =" Serilog" Version =" 4.2.0" />
29- <PackageReference Include =" Serilog.Sinks.File" Version =" 7.0.0" />
30- <PackageReference Include =" SkiaSharp" Version =" 3.119.0" />
31- <PackageReference Include =" SkiaSharp.Views" Version =" 3.119.0" />
32- <PackageReference Include =" SkiaSharp.Views.WPF" Version =" 3.119.0" />
33- <PackageReference Include =" System.Reactive" Version =" 6.0.1" />
34- </ItemGroup >
35-
36- <ItemGroup >
37- <Page Include =" App.xaml" />
38- </ItemGroup >
3+ <PropertyGroup >
4+ <OutputType >WinExe</OutputType >
5+ <TargetFramework >net8.0-windows10.0.17763.0</TargetFramework >
6+ <SupportedOSPlatformVersion >10.0.17763.0</SupportedOSPlatformVersion >
7+ <Nullable >enable</Nullable >
8+ <UseWPF >true</UseWPF >
9+ <UseWindowsForms >true</UseWindowsForms >
10+ <ImplicitUsings >enable</ImplicitUsings >
11+ <AllowUnsafeBlocks >true</AllowUnsafeBlocks >
12+ <StartupObject >SpectrumNet.App</StartupObject >
13+ <ApplicationIcon >spectrum.ico</ApplicationIcon >
14+ <RuntimeIdentifiers >win-x64;win-x86</RuntimeIdentifiers >
15+ <PublishSingleFile >true</PublishSingleFile >
16+ <PublishTrimmed >false</PublishTrimmed >
17+ <SelfContained >false</SelfContained >
18+ </PropertyGroup >
19+
20+ <!-- Exclude unnecessary macOS and browser runtime assets -->
21+ <ItemGroup >
22+ <RuntimePackAssetExclude Include =" runtimes/osx/**" />
23+ <RuntimePackAssetExclude Include =" runtimes/browser/**" />
24+ </ItemGroup >
25+
26+ <!-- Application icon -->
27+ <ItemGroup >
28+ <None Include =" spectrum.ico" />
29+ </ItemGroup >
30+
31+ <!-- Package dependencies -->
32+ <ItemGroup >
33+ <!-- Configuration and logging -->
34+ <PackageReference Include =" Microsoft.Extensions.Configuration.Json" Version =" 9.0.4" />
35+ <PackageReference Include =" Microsoft.Extensions.Logging" Version =" 9.0.4" />
36+ <PackageReference Include =" Microsoft.Extensions.Logging.Console" Version =" 9.0.4" />
37+ <PackageReference Include =" Microsoft.Extensions.Logging.Debug" Version =" 9.0.4" Condition =" '$(Configuration)' != 'Release'" />
38+ <PackageReference Include =" Microsoft.Extensions.ObjectPool" Version =" 9.0.4" />
39+ <PackageReference Include =" Serilog" Version =" 4.2.0" />
40+ <PackageReference Include =" Serilog.Sinks.File" Version =" 7.0.0" />
41+
42+ <!-- JSON processing -->
43+ <PackageReference Include =" Newtonsoft.Json" Version =" 13.0.3" />
44+
45+ <!-- Audio -->
46+ <PackageReference Include =" NAudio" Version =" 2.2.1" />
47+
48+ <!-- SkiaSharp visualization -->
49+ <PackageReference Include =" SkiaSharp" Version =" 3.119.0" />
50+ <PackageReference Include =" SkiaSharp.Views" Version =" 3.119.0" />
51+ <PackageReference Include =" SkiaSharp.Views.WPF" Version =" 3.119.0" />
52+
53+ <!-- Reactive programming -->
54+ <PackageReference Include =" System.Reactive" Version =" 6.0.1" />
55+
56+ <!-- Explicitly exclude OpenTK -->
57+ <PackageReference Include =" OpenTK" >
58+ <ExcludeAssets >all</ExcludeAssets >
59+ </PackageReference >
60+ </ItemGroup >
61+
62+ <!-- XAML markup -->
63+ <ItemGroup >
64+ <Page Include =" App.xaml" />
65+ </ItemGroup >
66+
67+ <!-- Remove unnecessary runtime folders after build -->
68+ <Target Name =" RemoveUnnecessaryRuntimes" AfterTargets =" Build" >
69+ <ItemGroup >
70+ <UnwantedRuntimeDirs Include =" $(OutputPath)runtimes\osx\" />
71+ <UnwantedRuntimeDirs Include =" $(OutputPath)runtimes\browser\" />
72+ </ItemGroup >
73+ <RemoveDir Directories =" @(UnwantedRuntimeDirs)" />
74+ </Target >
3975
4076</Project >
0 commit comments