依赖全本地化:lib 补齐 8 个 DLL(WeifenLuo×2/System.Data.SQLite/log4net/System.Memory/Numerics/Unsafe/Resources.Extensions,共22个);rsp 4 处与 csproj 9 处外部引用(Program Files SharpDevelop + F盘源码仓)全部改指项目内 lib——git clone 即可编译打包,不再依赖装 SharpDevelop;部署指南同步(DLL 自取命令/工具链简化/FAQ 更新);编译零警告验证通过

This commit is contained in:
dqb-dev
2026-10-02 09:20:35 +08:00
parent fedc1d8a33
commit a6ac896dc0
11 changed files with 19 additions and 15 deletions
+4 -4
View File
@@ -14,13 +14,13 @@
/r:System.Xml.dll /r:System.Xml.dll
/r:System.IO.Compression.dll /r:System.IO.Compression.dll
/r:System.IO.Compression.FileSystem.dll /r:System.IO.Compression.FileSystem.dll
/r:"C:\Program Files (x86)\SharpDevelop\5.2\bin\Smart.CustomComponents.dll" /r:"lib\Smart.CustomComponents.dll"
/r:"C:\Program Files (x86)\SharpDevelop\5.2\bin\WeifenLuo.WinFormsUI.Docking.dll" /r:"lib\WeifenLuo.WinFormsUI.Docking.dll"
/r:"C:\Program Files (x86)\SharpDevelop\5.2\bin\WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll" /r:"lib\WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll"
/r:"lib\AdvancedDataGridView.dll" /r:"lib\AdvancedDataGridView.dll"
/r:"lib\Microsoft.Web.WebView2.Core.dll" /r:"lib\Microsoft.Web.WebView2.Core.dll"
/r:"lib\Microsoft.Web.WebView2.WinForms.dll" /r:"lib\Microsoft.Web.WebView2.WinForms.dll"
/r:"C:\Program Files (x86)\SharpDevelop\5.2\bin\System.Data.SQLite.dll" /r:"lib\System.Data.SQLite.dll"
/r:"lib\NPOI.dll" /r:"lib\NPOI.dll"
/r:"lib\NPOI.OOXML.dll" /r:"lib\NPOI.OOXML.dll"
/r:"lib\NPOI.OpenXml4Net.dll" /r:"lib\NPOI.OpenXml4Net.dll"
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+9 -9
View File
@@ -39,7 +39,7 @@
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="log4net"> <Reference Include="log4net">
<HintPath>F:\Visual Studio\1\33\SharpDevelop-master\bin\log4net.dll</HintPath> <HintPath>lib\log4net.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.CSharp"> <Reference Include="Microsoft.CSharp">
<RequiredTargetFramework>4.0</RequiredTargetFramework> <RequiredTargetFramework>4.0</RequiredTargetFramework>
@@ -53,7 +53,7 @@
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="Smart.CustomComponents, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ba044a4aa43e0dc4"> <Reference Include="Smart.CustomComponents, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ba044a4aa43e0dc4">
<HintPath>..\..\..\..\..\..\Program Files %28x86%29\SharpDevelop\5.2\bin\Smart.CustomComponents.dll</HintPath> <HintPath>..\lib\Smart.CustomComponents.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Configuration" /> <Reference Include="System.Configuration" />
@@ -65,23 +65,23 @@
<RequiredTargetFramework>3.5</RequiredTargetFramework> <RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference> </Reference>
<Reference Include="System.Data.SQLite"> <Reference Include="System.Data.SQLite">
<HintPath>..\..\..\..\..\..\Program Files %28x86%29\SharpDevelop\5.2\bin\System.Data.SQLite.dll</HintPath> <HintPath>..\lib\System.Data.SQLite.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"> <Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51">
<HintPath>..\..\..\..\..\..\Program Files %28x86%29\SharpDevelop\5.2\bin\System.Memory.dll</HintPath> <HintPath>..\lib\System.Memory.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>..\..\..\..\..\..\Program Files %28x86%29\SharpDevelop\5.2\bin\System.Numerics.Vectors.dll</HintPath> <HintPath>..\lib\System.Numerics.Vectors.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="System.Resources.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"> <Reference Include="System.Resources.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51">
<HintPath>..\..\..\..\..\..\Program Files %28x86%29\SharpDevelop\5.2\bin\System.Resources.Extensions.dll</HintPath> <HintPath>..\lib\System.Resources.Extensions.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>..\..\..\..\..\..\Program Files %28x86%29\SharpDevelop\5.2\bin\System.Runtime.CompilerServices.Unsafe.dll</HintPath> <HintPath>..\lib\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="System.Windows.Forms" /> <Reference Include="System.Windows.Forms" />
@@ -91,10 +91,10 @@
<RequiredTargetFramework>3.5</RequiredTargetFramework> <RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference> </Reference>
<Reference Include="WeifenLuo.WinFormsUI.Docking"> <Reference Include="WeifenLuo.WinFormsUI.Docking">
<HintPath>..\..\..\..\..\..\Program Files %28x86%29\SharpDevelop\5.2\bin\WeifenLuo.WinFormsUI.Docking.dll</HintPath> <HintPath>..\lib\WeifenLuo.WinFormsUI.Docking.dll</HintPath>
</Reference> </Reference>
<Reference Include="WeifenLuo.WinFormsUI.Docking.ThemeVS2015"> <Reference Include="WeifenLuo.WinFormsUI.Docking.ThemeVS2015">
<HintPath>..\..\..\..\..\..\Program Files %28x86%29\SharpDevelop\5.2\bin\WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll</HintPath> <HintPath>..\lib\WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll</HintPath>
</Reference> </Reference>
<Reference Include="NPOI"> <Reference Include="NPOI">
<HintPath>lib\NPOI.dll</HintPath> <HintPath>lib\NPOI.dll</HintPath>
+6 -2
View File
@@ -22,11 +22,13 @@ git 仓库为控制体积,**故意不存**以下运行时资源(可用其他
| 工具 | 获取 | 用途 | | 工具 | 获取 | 用途 |
|---|---|---| |---|---|---|
| **.NET Framework 4.8 + Developer Pack** | 微软官网 NDP48-DevPack 离线包 | 编译(缺 Dev Pack 会报 MSB3644) | | **.NET Framework 4.8 + Developer Pack** | 微软官网 NDP48-DevPack 离线包 | 编译(缺 Dev Pack 会报 MSB3644) |
| **定制版 SharpDevelop 5.2**(MSI) | 项目配套安装包,装到默认 `C:\Program Files (x86)\SharpDevelop\5.2\` | ①提供编译引用的 Smart.CustomComponents/WeifenLuo/System.Data.SQLite 等 DLL ②SD 设计器改窗体(必须是最新构建,旧包缺控件) | | **定制版 SharpDevelop 5.2**(MSI) | 项目配套安装包,装到默认 `C:\Program Files (x86)\SharpDevelop\5.2\` | **仅改窗体布局时需要**(SD 设计器);命令行编译/打包**不需要**——2026-10-01 起全部依赖 DLL 已本地化到 `lib\`(22 个),clone 即可编译 |
| **Inno Setup 6 + 中文语言包** | 官网 + `ChineseSimplified.isl`(装法见打包技能第 3 步) | 打安装包 | | **Inno Setup 6 + 中文语言包** | 官网 + `ChineseSimplified.isl`(装法见打包技能第 3 步) | 打安装包 |
| **Python 3** | python.org | 打包脚本 make_package.py 等 | | **Python 3** | python.org | 打包脚本 make_package.py 等 |
| **git** | 任意 | 克隆/提交 | | **git** | 任意 | 克隆/提交 |
> **依赖本地化说明(2026-10-01)**:csproj 与 verify_build.rsp 的全部第三方引用(Smart.CustomComponents、WeifenLuo×2、System.Data.SQLite、log4net、System.Memory/Numerics/Unsafe/Resources.Extensions 等)已统一指向项目内 `成套报价软件\lib\`,不再引用 `Program Files\SharpDevelop` 或 F 盘源码仓。新增/升级依赖 DLL 一律放 `lib\` 并同步 csproj+rsp。
## 三、环境准备(一次性,装完即可反复打包) ## 三、环境准备(一次性,装完即可反复打包)
```powershell ```powershell
@@ -41,6 +43,8 @@ cd ctbjrj # 即仓库根
$src = 'C:\成套报价软件' $src = 'C:\成套报价软件'
# 3a. bin\Debug 运行数据(make_package 从这里取数) # 3a. bin\Debug 运行数据(make_package 从这里取数)
mkdir 成套报价软件\bin\Debug -Force mkdir 成套报价软件\bin\Debug -Force
# ★ 依赖 DLL 全部从项目内 lib\ 复制(自包含,不依赖外部环境)
Copy-Item 成套报价软件\lib\*.dll 成套报价软件\bin\Debug\ -Force
Copy-Item "$src\licenses" 成套报价软件\bin\Debug\licenses -Recurse Copy-Item "$src\licenses" 成套报价软件\bin\Debug\licenses -Recurse
Copy-Item "$src\元件库网页" 成套报价软件\bin\Debug\元件库网页 -Recurse Copy-Item "$src\元件库网页" 成套报价软件\bin\Debug\元件库网页 -Recurse
Copy-Item "$src\sjk" 成套报价软件\bin\Debug\sjk -Recurse # 种子库;bjb\方案库 个人数据可不拷 Copy-Item "$src\sjk" 成套报价软件\bin\Debug\sjk -Recurse # 种子库;bjb\方案库 个人数据可不拷
@@ -96,7 +100,7 @@ python tools\make_package.py
| 现象 | 原因 | 处置 | | 现象 | 原因 | 处置 |
|---|---|---| |---|---|---|
| 编译报 CS2001 全部源文件找不到 | 工作目录错了 | 必须 `成套报价软件\` 子目录里跑 `@..\tools\verify_build.rsp` | | 编译报 CS2001 全部源文件找不到 | 工作目录错了 | 必须 `成套报价软件\` 子目录里跑 `@..\tools\verify_build.rsp` |
| 编译报缺 Smart.CustomComponents 等 | 没装定制版 SharpDevelop 或装在非默认位置 | 装 MSI 到默认目录;非默认位置需改 rsp 引用路径 | | 编译报缺 Smart.CustomComponents 等 | lib\ 目录不完整 | 核对 `成套报价软件\lib\` 应有 22 个 DLL(git 里有);2026-10-01 后不再依赖装 SharpDevelop |
| make_package 提示缺 icons/licenses/元件库网页 | 第三节 3a 没做 | 按映射表补拷 | | make_package 提示缺 icons/licenses/元件库网页 | 第三节 3a 没做 | 按映射表补拷 |
| 打出的包 CAD 打不开/缺字体 | CAD-Viewer dist 或 node 没恢复 | 按第三节 3b 补拷 | | 打出的包 CAD 打不开/缺字体 | CAD-Viewer dist 或 node 没恢复 | 按第三节 3b 补拷 |
| AI 助手起不来 | zcode 发行包缺失 | 按第三节 3c 补拷 | | AI 助手起不来 | zcode 发行包缺失 | 按第三节 3c 补拷 |