Files
duckovMod/README.md
2025-10-21 20:09:31 +08:00

108 lines
2.6 KiB
Markdown
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.

# Duckov Modding 示例 (Duckov Modding Example)
## 文件夹结构
- decompile (反编译后的代码文件夹 / Decompiled code folder)
- full_decompile (完整解包后的代码文件夹 / Fully decompiled code folder)
- history (历史版本文件夹 / History folder)
- test (测试项目用文件夹 / Test folder)
## DLL解包方法 / DLL Decompile Method
### 使用ILSpy命令行工具一次性解包所有代码
1. 安装ILSpy命令行工具只需安装一次
```
dotnet tool install --global ilspycmd
```
2. 创建解包目录:
```
mkdir full_decompile
```
3. 使用ILSpy解包DLL文件
```
ilspycmd "E:\Steam\steamapps\common\Escape from Duckov\Duckov_Data\Managed\TeamSoda.Duckov.Core.dll" -o decompile -p
```
参数说明:
- `-o decompile`:指定输出目录
- `-p`生成项目文件便于在IDE中打开
4. 解包完成后,可以在`decompile`目录中查看所有解包后的源代码并使用IDE打开`TeamSoda.Duckov.Core.csproj`项目文件。
### 解包其他DLL文件
如需解包其他DLL文件使用相同的命令格式
```
ilspycmd "DLL文件路径" -o 目标目录 -p
```
## 工作原理概述
[official](official/README.md)
## 使用dotnet编译Debug和Release版本
### 编译命令
使用dotnet命令行工具可以轻松区分编译Debug和Release版本
1. **编译Debug版本**(默认配置):
```
dotnet build
```
或明确指定:
```
dotnet build -c Debug
```
2. **编译Release版本**
```
dotnet build -c Release
```
3. **发布Release版本**(优化后的可发布版本):
```
dotnet publish -c Release
```
### Debug和Release版本的区别
- **Debug版本**
- 包含调试信息
- 未进行代码优化
- 文件大小较大
- 适合开发和调试阶段
- **Release版本**
- 不包含调试信息(默认情况下)
- 进行了代码优化
- 文件大小较小
- 运行性能更好
- 适合发布和分发
### 输出位置
编译后的DLL文件通常位于以下位置
- Debug版本`bin/Debug/netstandard2.1/YourModName.dll`
- Release版本`bin/Release/netstandard2.1/YourModName.dll`
### 推荐做法
1. 开发阶段使用Debug版本便于调试
2. 发布Mod前使用Release版本确保性能最优
3. 发布时只需将Release版本的DLL文件、info.ini和preview.png打包
### 示例:完整编译流程
```bash
# 清理之前的构建
dotnet clean
# 编译Release版本
dotnet build -c Release
# 或者直接发布到指定目录
dotnet publish -c Release -o ./publish
```