feat: 增强便携版支持与配置管理
- 更新 .gitignore 文件,添加便携版分发目录和 Fody 生成的配置文件。 - 修改 README.md,详细说明便携版的构建与分发流程,强调单文件分发的优势。 - 在 Config.cs 中实现便携配置管理,优先使用 exe 同目录的 config.json,提升用户体验。 - 更新 ExcelService.cs,优化默认模板的导出逻辑,支持现场替换模板文件。 - 在 MainForm.cs 中加载应用图标,提升界面一致性。 - 调整 Program.cs,确保在单文件分发时正确加载 native DLL。
This commit is contained in:
@@ -11,6 +11,10 @@
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<!-- System DPI 感知:界面像素尺寸按 Theme.Px() 换算,见 app.manifest -->
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
<!-- exe 图标(资源管理器/任务栏/快捷方式)。多尺寸 ICO 由 tools/make_icon.py 生成 -->
|
||||
<ApplicationIcon>app.ico</ApplicationIcon>
|
||||
<!-- 便携单文件:Costura 把所有依赖 DLL 嵌入 exe,运行时自动解析 -->
|
||||
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@@ -22,16 +26,34 @@
|
||||
<PackageReference Include="Microsoft.TeamFoundationServer.ExtendedClient" Version="14.*" />
|
||||
<!-- 无需安装 VS 也可用 dotnet build 编译 net48 -->
|
||||
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
|
||||
<!-- 单文件打包:把所有引用 DLL(含 native WITDataStore)嵌进 exe -->
|
||||
<PackageReference Include="Fody" Version="6.8.2" PrivateAssets="all" />
|
||||
<PackageReference Include="Costura.Fody" Version="5.7.0" PrivateAssets="all" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="config.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<!-- 默认导入模板:随 exe 一起发布,「导出Excel模板」原样复制这份文件 -->
|
||||
<Content Include="..\templates\TFS导入模板.xlsx" Link="TFS导入模板.xlsx">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<!--
|
||||
图标同时以「托管资源」嵌一份:窗口标题栏/任务栏用 Form.Icon,
|
||||
从内嵌 ICO 取可以得到全部 9 个尺寸帧;若走 Icon.ExtractAssociatedIcon
|
||||
只能拿到系统默认那一档,高 DPI 下会糊。
|
||||
-->
|
||||
<EmbeddedResource Include="app.ico" LogicalName="app.ico" />
|
||||
<!-- 默认导入模板:嵌入 exe,「导出Excel模板」时释放出来;exe 同目录存在同名文件时优先用它(便于现场替换模板) -->
|
||||
<EmbeddedResource Include="..\templates\TFS导入模板.xlsx" Link="TFS导入模板.xlsx" />
|
||||
<!--
|
||||
TFS Client OM 的 native DLL(NuGet 包 lib\native\{amd64,x86})。
|
||||
Costura 只嵌托管程序集,这两个是纯 win32 DLL,单独嵌入,
|
||||
启动时由 NativeLibraryLoader 释放到临时目录并预加载。
|
||||
-->
|
||||
<EmbeddedResource Include="$(NuGetPackageRoot)microsoft.teamfoundationserver.extendedclient\*\lib\native\amd64\Microsoft.WITDataStore64.dll">
|
||||
<LogicalName>native.Microsoft.WITDataStore64.dll</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="$(NuGetPackageRoot)microsoft.teamfoundationserver.extendedclient\*\lib\native\x86\Microsoft.WITDataStore32.dll">
|
||||
<LogicalName>native.Microsoft.WITDataStore32.dll</LogicalName>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
Reference in New Issue
Block a user