本文档提供了从源代码构建 Shadowsocks Windows 客户端的详细说明。它涵盖了先决条件、源代码获取、构建过程和常见的故障排除步骤。有关构建后测试应用程序的信息,请参阅测试。
在构建 Shadowsocks Windows 之前,请确保您的开发环境满足以下要求
| 要求 | 详情 |
|---|---|
| 操作系统 | Windows 10/11 |
| IDE | Visual Studio 2019 或更高版本 |
| .NET Framework | 4.8 SDK |
| Git | 用于克隆仓库 |
来源: shadowsocks-csharp/shadowsocks-csharp.csproj1-20
使用 Git 克隆仓库
来源: shadowsocks-csharp/shadowsocks-csharp.csproj1-5 .gitignore1-10
shadowsocks-windows.sln该项目使用了一些 NuGet 包,需要在构建前还原
要还原包,请执行以下操作
来源: shadowsocks-csharp/packages.config1-38 shadowsocks-csharp/shadowsocks-csharp.csproj73-218
该项目支持不同的构建配置
| 配置 | 平台 | 输出路径 | 描述 |
|---|---|---|---|
| 调试 | x86 | bin\x86\Debug\ | 包含调试符号的开发版本 |
| 发布 | x86 | bin\x86\Release\ | 用于发布的优化版本 |
来源: shadowsocks-csharp/shadowsocks-csharp.csproj47-68
构建项目
您也可以使用命令行中的 MSBuild 构建项目
构建过程涉及多个组件和步骤
在构建过程中,一些资源会嵌入到最终的可执行文件中
来源: shadowsocks-csharp/Properties/Resources.resx120-165 shadowsocks-csharp/Properties/Resources.Designer.cs85-253
该项目使用 Costura.Fody 将引用的程序集嵌入到最终的可执行文件中,从而创建单文件部署。此配置在 FodyWeavers.xml 文件中。
来源: shadowsocks-csharp/FodyWeavers.xml1-6
编译成功后,您可以运行应用程序
bin\x86\Release\)Shadowsocks.exe应用程序需要管理员权限才能执行某些操作(如系统代理配置),这在应用程序清单中指定。
来源: shadowsocks-csharp/shadowsocks-csharp.csproj69-71
| 问题 | 可能解决方案 |
|---|---|
| NuGet 包还原失败 | 确保您已连接互联网且 NuGet.org 已配置为包源 |
| 缺少 .NET Framework | 安装 .NET Framework 4.8 Developer Pack |
| 与 Fody 相关的构建错误 | 确保 Fody 及其扩展已正确安装 |
| 资源编译错误 | 检查所有资源文件是否有效且格式正确 |
| “文件正在使用中”错误 | 关闭任何正在运行的应用程序实例或 Visual Studio |
成功构建和修改源代码后
有关贡献的更多详细信息,请参阅许可证和贡献。