添加自包含发布配置,生成独立可执行文件: - 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>
51 lines
1.8 KiB
XML
51 lines
1.8 KiB
XML
<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->'%(FullPath)', ' ')" />
|
||
<Message Text="ILRepack merge complete: $(OutputPath)$(AssemblyName)_merged.exe" Importance="high" />
|
||
</Target>
|
||
-->
|
||
|
||
</Project> |