Files
TFSImport/TfsExcelImporter/TfsExcelImporter.csproj
T
chenshoulin 8824a81758 feat: 实现密码加密存储与异步数据预览功能
- 在 Config.cs 中添加 DPAPI 加密支持,确保密码安全存储,兼容旧版配置。
- 更新 MainForm.cs,重构数据预览逻辑为异步方法,提升用户体验,避免界面冻结。
- 修改相关方法以支持异步操作,确保在处理大文件时界面响应流畅。
- 更新项目文件以引用 System.Security,支持加密功能。
2026-11-01 21:57:53 +08:00

65 lines
3.3 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>
<LangVersion>latest</LangVersion>
<Nullable>disable</Nullable>
<AssemblyTitle>TFS Excel 导入工具</AssemblyTitle>
<Product>TFS Excel 导入工具</Product>
<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>
<!-- Excel 读写 -->
<PackageReference Include="ClosedXML" Version="0.102.2" />
<!-- JSON (保留给 config.json) -->
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<!-- TFS Client OM(内部 SOAP 协议,兼容 TFS 2013;REST wit 路由缺失时唯一可行通道) -->
<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>
<!-- DPAPI(ProtectedData):config.json 密码加密 -->
<ItemGroup>
<Reference Include="System.Security" />
</ItemGroup>
<ItemGroup>
<None Update="config.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<!--
图标同时以「托管资源」嵌一份:窗口标题栏/任务栏用 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>