mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
142 lines
8.0 KiB
XML
142 lines
8.0 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<OutputType>WinExe</OutputType>
|
|
<TargetFramework>net10.0</TargetFramework>
|
|
<RollForward>LatestMajor</RollForward>
|
|
<Nullable>enable</Nullable>
|
|
<Version>0.0.0-dev</Version>
|
|
<ApplicationManifest>app.manifest</ApplicationManifest>
|
|
<ApplicationIcon>Assets\logo_nightly.ico</ApplicationIcon>
|
|
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
|
|
</PropertyGroup>
|
|
|
|
<!-- Keep Release defaults compatibility-first for desktop dependencies (WebView/interop/reflection). -->
|
|
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
|
|
<PublishSingleFile>false</PublishSingleFile>
|
|
<PublishTrimmed>false</PublishTrimmed>
|
|
<PublishReadyToRun>false</PublishReadyToRun>
|
|
<DebugSymbols>false</DebugSymbols>
|
|
<DebugType>none</DebugType>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<Folder Include="Models\" />
|
|
<AvaloniaResource Include="Assets\**" />
|
|
<AvaloniaResource Include="Localization\**" />
|
|
<EmbeddedResource Include="Assets\Documents\Privacy.md" />
|
|
<EmbeddedResource Include="Localization\*.json" />
|
|
<None Include="Localization\*.json" CopyToOutputDirectory="PreserveNewest" />
|
|
<None Include="Extensions\Components\*.json" CopyToOutputDirectory="PreserveNewest" />
|
|
<None Include="WindowsIdentity\**" CopyToOutputDirectory="PreserveNewest" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\LanMountainDesktop.Host.Abstractions\LanMountainDesktop.Host.Abstractions.csproj" />
|
|
<ProjectReference Include="..\LanMountainDesktop.Shared.Contracts\LanMountainDesktop.Shared.Contracts.csproj" />
|
|
<ProjectReference Include="..\LanMountainDesktop.Shared.IPC\LanMountainDesktop.Shared.IPC.csproj" />
|
|
<ProjectReference Include="..\LanMountainDesktop.Settings.Core\LanMountainDesktop.Settings.Core.csproj" />
|
|
<ProjectReference Include="..\LanMountainDesktop.Appearance\LanMountainDesktop.Appearance.csproj" />
|
|
<ProjectReference Include="..\LanMountainDesktop.DesktopComponents.Runtime\LanMountainDesktop.DesktopComponents.Runtime.csproj" />
|
|
<ProjectReference Include="..\LanMountainDesktop.DesktopHost\LanMountainDesktop.DesktopHost.csproj" />
|
|
<ProjectReference Include="..\LanMountainDesktop.PluginPackaging\LanMountainDesktop.PluginPackaging.csproj" />
|
|
<ProjectReference Include="..\LanMountainDesktop.PluginSdk\LanMountainDesktop.PluginSdk.csproj" />
|
|
<!-- Launcher 引用已移除 - Launcher 现在是独立应用 -->
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="Avalonia" />
|
|
<PackageReference Include="Avalonia.Controls.WebView" />
|
|
<PackageReference Include="Avalonia.Desktop" />
|
|
<PackageReference Include="Avalonia.Themes.Fluent" />
|
|
<PackageReference Include="Avalonia.Fonts.Inter" />
|
|
<!--Condition below is needed to remove developer tools support from build output in Release configuration.-->
|
|
<PackageReference Include="AvaloniaUI.DiagnosticsSupport">
|
|
<IncludeAssets Condition="'$(Configuration)' != 'Debug'">None</IncludeAssets>
|
|
<PrivateAssets Condition="'$(Configuration)' != 'Debug'">All</PrivateAssets>
|
|
</PackageReference>
|
|
<PackageReference Include="CommunityToolkit.Mvvm" />
|
|
<PackageReference Include="Downloader" />
|
|
<PackageReference Include="FluentAvaloniaUI" />
|
|
<PackageReference Include="FluentIcons.Avalonia" />
|
|
<PackageReference Include="Lib.Harmony.Thin" />
|
|
<PackageReference Include="Material.Avalonia" />
|
|
<PackageReference Include="Material.Icons.Avalonia" />
|
|
<PackageReference Include="ClassIsland.Markdown.Avalonia" />
|
|
<PackageReference Include="Microsoft.Extensions.DependencyInjection" />
|
|
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" />
|
|
<PackageReference Include="Microsoft.Data.Sqlite" />
|
|
<PackageReference Include="MudTools.OfficeInterop" />
|
|
<PackageReference Include="MudTools.OfficeInterop.Word" />
|
|
<PackageReference Include="MudTools.OfficeInterop.Excel" />
|
|
<PackageReference Include="MudTools.OfficeInterop.PowerPoint" />
|
|
|
|
<PackageReference Include="PortAudioSharp2" />
|
|
<PackageReference Include="MaterialColorUtilities" />
|
|
<PackageReference Include="PostHog" />
|
|
<PackageReference Include="Sentry" />
|
|
<PackageReference Include="System.Runtime.WindowsRuntime" />
|
|
<PackageReference Include="System.Drawing.Common" />
|
|
|
|
<PackageReference Include="YamlDotNet" />
|
|
<PackageReference Include="Tmds.DBus.Protocol" />
|
|
<PackageReference Include="log4net" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\ThirdParty\DotNetCampus.InkCanvas\DotNetCampus.AvaloniaInkCanvas.Avalonia12.csproj" />
|
|
</ItemGroup>
|
|
|
|
<!-- Launcher 构建目标已移除 - Launcher 现在是独立应用,由 CI/CD 单独构建 -->
|
|
|
|
<!-- 生成版本信息文件 -->
|
|
<Target Name="GenerateVersionFile" AfterTargets="Build">
|
|
<PropertyGroup>
|
|
<VersionFilePath>$(OutDir)version.json</VersionFilePath>
|
|
<AppVersion>$(Version)</AppVersion>
|
|
<AppCodename>Administrate</AppCodename>
|
|
</PropertyGroup>
|
|
<Exec Command="powershell -ExecutionPolicy Bypass -File "$(MSBuildProjectDirectory)\..\scripts\Generate-VersionFile.ps1" -OutputPath "$(VersionFilePath)" -Version "$(AppVersion)" -Codename "$(AppCodename)"" Condition="'$(OS)' == 'Windows_NT'" />
|
|
<Exec Command="pwsh -ExecutionPolicy Bypass -File "$(MSBuildProjectDirectory)\..\scripts\Generate-VersionFile.ps1" -OutputPath "$(VersionFilePath)" -Version "$(AppVersion)" -Codename "$(AppCodename)"" Condition="'$(OS)' != 'Windows_NT'" />
|
|
</Target>
|
|
|
|
<!-- 发布时也生成版本信息文件 -->
|
|
<Target Name="GenerateVersionFilePublish" AfterTargets="Publish">
|
|
<PropertyGroup>
|
|
<VersionFilePath>$(PublishDir)version.json</VersionFilePath>
|
|
<AppVersion>$(Version)</AppVersion>
|
|
<AppCodename>Administrate</AppCodename>
|
|
</PropertyGroup>
|
|
<Exec Command="powershell -ExecutionPolicy Bypass -File "$(MSBuildProjectDirectory)\..\scripts\Generate-VersionFile.ps1" -OutputPath "$(VersionFilePath)" -Version "$(AppVersion)" -Codename "$(AppCodename)"" Condition="'$(OS)' == 'Windows_NT'" />
|
|
<Exec Command="pwsh -ExecutionPolicy Bypass -File "$(MSBuildProjectDirectory)\..\scripts\Generate-VersionFile.ps1" -OutputPath "$(VersionFilePath)" -Version "$(AppVersion)" -Codename "$(AppCodename)"" Condition="'$(OS)' != 'Windows_NT'" />
|
|
</Target>
|
|
<Target Name="BuildAirAppHostOutput"
|
|
AfterTargets="Build"
|
|
Condition="'$(BuildingAirAppHost)' != 'true' and '$(SkipAirAppHostBuild)' != 'true'">
|
|
<Exec Command="dotnet build "$(MSBuildProjectDirectory)\..\LanMountainDesktop.AirAppHost\LanMountainDesktop.AirAppHost.csproj" -c "$(Configuration)" --no-restore -p:BuildProjectReferences=false -p:BuildingAirAppHost=true" />
|
|
</Target>
|
|
|
|
<Target Name="CopyAirAppHostOutput"
|
|
AfterTargets="Build"
|
|
DependsOnTargets="BuildAirAppHostOutput"
|
|
Condition="'$(SkipAirAppHostBuild)' != 'true'">
|
|
<ItemGroup>
|
|
<_AirAppHostOutput Include="..\LanMountainDesktop.AirAppHost\bin\$(Configuration)\$(TargetFramework)\**\*" />
|
|
</ItemGroup>
|
|
<MakeDir Directories="$(OutDir)AirAppHost" />
|
|
<Copy SourceFiles="@(_AirAppHostOutput)"
|
|
DestinationFiles="@(_AirAppHostOutput->'$(OutDir)AirAppHost\%(RecursiveDir)%(Filename)%(Extension)')"
|
|
SkipUnchangedFiles="true" />
|
|
</Target>
|
|
|
|
<Target Name="CopyAirAppHostPublishOutput"
|
|
AfterTargets="Publish"
|
|
Condition="'$(PublishDir)' != '' and '$(AirAppHostPublishDir)' != '' and '$(SkipAirAppHostBuild)' != 'true'">
|
|
<ItemGroup>
|
|
<_AirAppHostPublishOutput Include="$(AirAppHostPublishDir)\**\*" />
|
|
</ItemGroup>
|
|
<MakeDir Directories="$(PublishDir)AirAppHost" />
|
|
<Copy SourceFiles="@(_AirAppHostPublishOutput)"
|
|
DestinationFiles="@(_AirAppHostPublishOutput->'$(PublishDir)AirAppHost\%(RecursiveDir)%(Filename)%(Extension)')"
|
|
SkipUnchangedFiles="true" />
|
|
</Target>
|
|
</Project>
|