Skip to content

Commit 1e4a795

Browse files
committed
Refactor csproj: add publish settings, exclude macOS/browser assets, remove unused OpenTK in main branch
1 parent e9af1c7 commit 1e4a795

File tree

1 file changed

+72
-36
lines changed

1 file changed

+72
-36
lines changed

SpectrumNet/SpectrumNet.csproj

Lines changed: 72 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,76 @@
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

Comments
 (0)