SlideCombine/SlideCombine.csproj
yuuko 9c96a10295 配置为Self-contained发布
添加自包含发布配置,生成独立可执行文件:
- SelfContained=true:包含.NET Framework运行时
- PublishSingleFile=true:生成单个exe文件
- PublishReadyToRun=true:预编译优化
- IncludeNativeLibrariesForSelfExtract=true:包含自解压库
- RuntimeIdentifier=win-x64:针对64位Windows

这样生成的exe文件约60-100MB,可在任何Windows系统上运行,无需预装.NET Framework

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:46:06 +08:00

51 lines
1.8 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net48</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<AssemblyName>SlideCombine</AssemblyName>
<RootNamespace>SlideCombine</RootNamespace>
<ApplicationIcon>app.ico</ApplicationIcon>
<Win32Resource />
<!-- 自包含发布配置 -->
<SelfContained>true</SelfContained>
<PublishSingleFile>true</PublishSingleFile>
<PublishReadyToRun>true</PublishReadyToRun>
<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Include="app.ico" />
</ItemGroup>
<!-- 用于单文件发布的配置 -->
<PropertyGroup>
<PublishSingleFile>false</PublishSingleFile>
<SelfContained>false</SelfContained>
<PublishReadyToRun>true</PublishReadyToRun>
<!-- 强制将所有依赖项合并到输出目录 -->
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>
<!-- 模板项目不需要外部依赖 -->
<!-- 如需合并第三方DLL可在此添加PackageReference -->
<!-- 示例:
<ItemGroup>
<PackageReference Include="ILRepack" Version="2.0.18" />
</ItemGroup>
<Target Name="ILRepack" AfterTargets="Build">
<ItemGroup>
<InputAssemblies Include="$(OutputPath)$(AssemblyName).exe" />
<InputAssemblies Include="$(OutputPath)YourLibrary.dll" />
</ItemGroup>
<Message Text="ILRepack merging..." Importance="high" />
<Exec Command="$(PkgILRepack)\tools\ILRepack.exe /target:exe /out:$(OutputPath)$(AssemblyName)_merged.exe @(InputAssemblies-&gt;'%(FullPath)', ' ')" />
<Message Text="ILRepack merge complete: $(OutputPath)$(AssemblyName)_merged.exe" Importance="high" />
</Target>
-->
</Project>