首次安装时,先按操作系统与处理器架构筛选安装包,再在 Avalonia 桌面版与 WPF 版之间选择。Windows 可以根据现有配置和操作习惯决定;macOS、Linux 应选择对应系统的跨平台桌面包。两种界面不是两种代理协议,也不能仅凭界面框架判断连接速度。下文给出选包顺序、依赖检查、设置对照与分目录迁移步骤。
界面框架、客户端与代理内核的区别
Avalonia 和 WPF 都用于构建图形界面。服务器列表、订阅分组、设置窗口和托盘菜单属于客户端界面层;连接建立、协议处理与流量转发由客户端调用的代理内核执行。把“换界面”理解为“换协议”,容易选错排查方向。
WPF 是 Windows 桌面界面技术,因此 v2rayN 的 WPF 版用于 Windows。Avalonia 支持跨平台界面,v2rayN 桌面版据此提供不同系统的构建包。跨平台指同一套界面技术能够面向多个系统构建,不是一个 Windows 可执行文件能够直接在所有系统运行。
- v2rayN:负责保存服务器信息、管理订阅、生成运行配置,并调用相应内核。
- Xray、V2Ray:属于代理内核;具体可用内核和功能取决于所安装版本与随包内容。
- VMess、VLESS:属于协议;节点是否可用还取决于传输方式、安全设置和服务端参数。
- Avalonia、WPF:属于界面技术;不能用它们替代协议名称或内核名称。
判断顺序:先确认内核,再比较界面
如果同一条 VLESS 节点在两个版本中表现不同,先对齐内核版本、节点参数、路由和 DNS 设置,再判断是否为界面设置未保存或功能入口差异。不要仅凭窗口外观推断协议兼容性。
Avalonia 桌面版与 WPF 版对照
选型时最有用的差别,是目标系统、功能入口和运行环境。下表用于筛选,不代表两个版本在任何发布日期都具备完全相同的功能;新功能的接入顺序、选项名称和界面布局可能随版本变化。
| 对比项目 | Avalonia 桌面版 | WPF 版 |
|---|---|---|
| 适用系统 | 按发行包选择 Windows、macOS 或 Linux | Windows |
| 处理器架构 | 需要匹配目标系统提供的 x64、ARM64 等实际包型 | 需要匹配 Windows 设备及发行包提供的架构 |
| 日常操作 | 订阅、服务器和设置通过跨平台界面呈现 | 订阅、服务器和设置通过 Windows 界面呈现 |
| 代理能力 | 由实际内核、版本及配置决定 | 同样由实际内核、版本及配置决定 |
| 运行依赖 | 取决于包是否携带运行时,以及系统原生依赖 | 取决于包是否携带运行时;依赖框架的包需匹配 .NET 桌面运行时 |
| 系统集成 | 托盘、系统代理和权限行为随操作系统变化 | 围绕 Windows 的托盘、系统代理和权限机制工作 |
没有固定环境的对照测试时,不应给出“某界面版一定更省内存”或“一定更快”的结论。内存占用还受节点数量、日志显示、内核运行状态和窗口是否打开影响;下载速度通常更依赖网络线路、服务端负载和分流命中情况。
按操作系统与现有配置选择版本
先决定能运行的包,再决定喜欢的界面。对 Windows 新安装用户,若下载页提供对应架构的 Avalonia 桌面包,可先用它建立配置;已有稳定 WPF 环境的用户,不必仅为界面框架更换工作目录。
Avalonia 桌面版
推荐适合作为新安装的起点。使用 macOS 或 Linux 时选择相应系统包;Windows 用户也可以选择对应桌面包。不同系统仍需分别核对托盘、代理和权限设置。
适合:首次配置、跨系统使用、希望保持相近操作习惯的用户。
WPF 版
适合保留已有 Windows 操作流程。若当前订阅、路由和系统代理均正常,可以先继续使用,再把需要的新功能作为是否切换的依据。
适合:只用 Windows、已熟悉 WPF 界面、已有稳定配置的用户。
- 确认系统:Windows 可在「设置」→「系统」→「系统信息」查看系统类型;macOS 可在「关于本机」查看芯片信息。
- 确认架构:区分 x64 与 ARM64。不要只根据电脑品牌判断,也不要把操作系统位数与处理器架构混为一谈。
- 查看包说明:核对目标系统、架构、是否携带运行时,以及最低系统要求。
- 检查必需功能:如需 TUN、特殊路由或特定内核,确认所选版本确实提供对应入口与运行组件。
运行依赖与首次启动检查
“.NET 已安装”不等于“安装了程序所需的运行环境”。运行时有版本、架构和类型之分;WPF 程序需要桌面相关支持,仅安装普通 .NET Runtime 不一定满足要求。SDK 面向开发工作,不应作为首次启动故障的默认补救方案。
依赖检查:按发布方式分两条路径
携带运行时的包
- 先完整解压,再从解压目录启动。
- 不要只复制主程序,遗漏同目录依赖文件。
- 启动失败时检查系统要求、执行权限及安全软件记录。
依赖系统运行时的包
- 记录报错窗口要求的运行时名称与主版本。
- 确认运行时架构与应用包一致。
- WPF 包按要求安装 .NET Desktop Runtime,完成后重新启动程序。
结论:先按包说明补齐所需依赖,不要靠连续安装多个未知版本的运行库试错。
Windows 用户可以在终端运行下列命令查看已安装的 .NET 运行时。命令无法识别时,应结合包说明确认是否需要系统运行时;携带运行时的包不能仅凭这条命令的结果判断能否启动。
dotnet --list-runtimes
检查结果时,注意 Microsoft.WindowsDesktop.App 与 Microsoft.NETCore.App 的区别,并对照错误提示中的版本要求。macOS、Linux 上的 Avalonia 包还可能依赖系统图形库或执行权限,不能直接照搬 Windows 的运行库处理方式。窗口打不开与内核连接失败也应分开记录,后者通常需要查看客户端日志。
订阅、系统代理与监听端口的核对顺序
两个界面都能显示服务器列表,不代表当前连接环境一致。建议依次核对「订阅分组」→「订阅分组设置」、活动服务器、「设置」→「参数设置」以及「路由设置」。具体按钮位置和子项名称可能随版本变化,以当前界面为准。
端口是迁移时容易遗漏的具体参数。下面使用 127.0.0.1:10808 作为本地代理示例,将 10818 作为发生冲突时的候选端口;这些数值用于演示核对方法,不表示所有版本都采用相同默认端口。
- 订阅:打开「订阅分组」→「订阅分组设置」核对地址,再执行「更新全部订阅」。订阅地址包含访问凭据,不要放入公开截图。
- 监听:进入「设置」→「参数设置」查找本地监听相关项;部分版本位于「Core 基础设置」。先看字段是混合端口还是独立的 SOCKS、HTTP 端口,再填写应用代理。
- 系统代理:在 Windows 主窗口或托盘的「系统代理」菜单确认状态。节点选中并不等于系统代理已经开启。
- 路由:在「路由设置」核对规则和顺序。使用「绕过大陆(Whitelist)」时,部分请求直连属于规则作用,不应直接认定代理失效。
- DNS 与 TUN:单独记录 DNS 策略和 TUN 状态。TUN 依赖相应内核、系统支持与权限,不是切换界面后自动继承的通用开关。
迁移验证:先只运行一个客户端实例
退出旧版本并确认旧内核已停止,再启动新版本。若仍有端口占用日志,先定位占用进程;只有确认需要并行运行时,才给第二个实例设置不同端口,避免两个界面同时改写系统代理。
WPF 切换 Avalonia 的分目录迁移步骤
切换界面不宜直接覆盖旧目录。不同版本的数据结构、设置字段或迁移逻辑可能不同,整目录互拷也会把旧内核和新文件混在一起。先保留可回退的副本,再验证新环境,比出现问题后寻找旧配置更省事。
- 记录旧环境:记下客户端版本、使用内核、活动订阅分组、监听端口、路由名称和系统代理状态。有自定义 DNS 或 TUN 设置时一并记录。
- 保存资料:使用当前版本实际提供的导出或备份功能;没有明确入口时,退出程序后备份配置数据目录。备份含节点凭据,应放在受保护的位置。
- 准备新目录:将新包完整解压到独立目录,不覆盖旧目录,也不要让两个程序共同写入同一份配置。
- 优先重建订阅:在新界面添加订阅分组并更新。订阅通常只带来节点信息,不会自动恢复本地路由、监听端口、DNS 和系统代理偏好。
- 逐项恢复设置:先测试一个节点,再恢复路由与 DNS,最后按需要开启 TUN。每改一类设置就验证一次,便于定位失败环节。
- 确认回退路径:若新版本异常,先关闭其系统代理并退出,再恢复旧版本。不要让系统代理仍指向一个已经停止监听的端口。
跨系统迁移时尤其要重做本地设置。Windows 的目录路径、开机启动方式、证书文件位置和权限设置,不能原样套用到 macOS 或 Linux。订阅能成功导入,只能说明节点来源可读取,还不能证明本机代理链路已经配置完成。
版本选择与切换常见问题
Windows 上已经能正常用 WPF,还需要换吗?
不需要仅为框架名称切换。先列出当前缺少的功能,再核对目标版本说明。确需尝试时按分目录方式安装,保留旧配置,使用同一节点和同一路由比较结果。
换了桌面版,原来的 VMess 或 VLESS 订阅还能用吗?
先在「订阅分组」→「订阅分组设置」添加原地址并更新。是否能解析和连接取决于订阅格式、节点参数及内核支持;遇到错误应查看更新日志,而不是只看界面版型。
能看到节点,为什么浏览器还是打不开?
先确认活动服务器与内核日志,再检查「系统代理」状态。浏览器若手动配置了代理,核对它填写的地址和端口是否与当前监听一致;改成 10818 后,仍指向 10808 的应用不会自动跟随。
新界面里找不到旧教程上的按钮怎么办?
按功能名称查找「订阅分组」「参数设置」「路由设置」,不要只按截图坐标操作。先核对客户端版本;若当前构建没有所需选项,再查对应版本说明,不要随意修改生成的内核配置来代替设置入口。
两个版本都装上,能同时开着比较吗?
初次验证建议交替启动。确需并行时,必须隔离配置目录、监听端口和系统代理控制;不要让两个实例都自动设置系统代理。比较前还要对齐节点、路由和 DNS,否则结果不具有可比性。