ColorVision.Solution
1.5.5.2
dotnet add package ColorVision.Solution --version 1.5.5.2
NuGet\Install-Package ColorVision.Solution -Version 1.5.5.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ColorVision.Solution" Version="1.5.5.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ColorVision.Solution" Version="1.5.5.2" />
<PackageReference Include="ColorVision.Solution" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ColorVision.Solution --version 1.5.5.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ColorVision.Solution, 1.5.5.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ColorVision.Solution@1.5.5.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ColorVision.Solution&version=1.5.5.2
#tool nuget:?package=ColorVision.Solution&version=1.5.5.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
ColorVision.Solution
版本: 1.5.5.1 | 目标框架: .NET 10.0 Windows
功能定位
解决方案和工程文件管理模块,类似 Visual Studio 的解决方案资源管理器。提供项目文件组织、多编辑器集成、RBAC 权限控制和终端集成。
主要功能
解决方案管理
- 创建/打开/保存 — .cvsln 格式解决方案文件
- 文件树视图 — 树形结构展示工程文件
- 文件监控 — 根级递归 FileSystemWatcher 实时同步,避免每个文件夹单独创建监听器
- 缓存加载 — SolutionCache 缓存目录结构,减少大型工程的重复枚举
编辑器系统 (Editor/)
| 编辑器 | 文件扩展名 | 说明 |
|---|---|---|
| TextEditor | .txt, .log, .cs, ... | AvalonEdit 代码编辑 |
| ImageEditor | .png, .jpg, .bmp, ... | 图像查看/编辑 |
| HexEditor | .bin, .dat, ... | 十六进制编辑 |
| WebEditor | .html, .url, ... | WebView2 预览 |
| Model3DEditor | .obj, .stl | 3D 模型查看(嵌入 ModelViewer3DControl) |
| ProjectEditor | .cvsln, .json | 项目配置编辑 |
Model3DEditor 内存管理
- 使用命名委托 +
Closing事件中主动取消订阅,打破 lambda 闭包引用链 - 关闭时调用
DisposeViewer()释放 3D 资源(网格缓冲区、材质纹理) - 置空
LayoutDocument.Content断开内容引用,确保 GC 可回收
RBAC 权限系统 (Rbac/)
- 用户/角色/权限 — 完整的 RBAC 模型
- 多租户 — TenantEntity 支持
- 会话管理 — SessionEntity + 审计日志
- 登录/注册窗口 — LoginWindow / RegisterWindow
- 密码安全 — PasswordHashing (BCrypt)
多图像查看器 (MultiImageViewer/)
- 文件夹内多图预览
- 缩略图缓存管理 (ThumbnailCacheManager)
最近文件 (RecentFile/)
- 最近打开的解决方案列表
- 注册表持久化 (RegistryPersister)
终端集成 (Terminal/)
- 基于 Windows ConPTY 的内置终端
- VT100/xterm 转义序列解析
- 持久化命令历史
其他
- MarkdownViewWindow — Markdown 预览(Markdig)
- EditableTextBlock — 可点击编辑的文本块
- WorkspaceManager — 多工作区管理
稳定性加固记录
2026-05-11
- 权限安全默认值: 未登录或登录态无效时保持
Guest权限,新建普通用户默认User,避免配置缺失导致管理员权限。 - 工程切换生命周期: 打开新解决方案前释放旧
SolutionExplorer、节点树、缓存和文件监听器,防止旧工程继续响应文件事件。 - 文件树同步: 改为单个根级递归
FileSystemWatcher,统一处理创建、删除、重命名和变更事件;删除目录时同步清理缓存子项。 - 资源释放:
TerminalControl实现IDisposable,终端面板在应用退出时释放 shell 和计时器;多图像查看器释放流程改为幂等。 - 缩略图加载: 缩略图并发加载加入限流,避免大目录一次性占满线程池和磁盘 IO。
- 插件反射容错: 编辑器、文件元数据、文件夹元数据和模板注册统一处理
ReflectionTypeLoadException,单个插件加载失败不会阻断全局注册。 - 构建可移植性: 移除项目文件中的本机 NuGet 绝对路径,降低跨机器构建失败风险。
依赖关系
- 引用: ColorVision.UI, ColorVision.UI.Desktop, ColorVision.Database, ColorVision.ImageEditor, AvalonEdit, WPFHexaEditor, WebView2, Markdig
- 被引用: 作为顶层 UI 模块
构建
dotnet build UI/ColorVision.Solution/ColorVision.Solution.csproj
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-windows7.0 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0-windows7.0
- AvalonEdit (>= 6.3.1.120)
- ColorVision.Database (>= 1.5.5.3)
- ColorVision.ImageEditor (>= 1.5.5.4)
- ColorVision.UI (>= 1.5.5.2)
- ColorVision.UI.Desktop (>= 1.5.5.2)
- Dirkster.AvalonDock.Themes.VS2013 (>= 4.74.1)
- Markdig.Signed (>= 1.2.0)
- Microsoft.Web.WebView2 (>= 1.0.3967.48)
- WPFHexaEditor (>= 3.3.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.5.5.2 | 41 | 5/31/2026 |
| 1.5.5.1 | 116 | 4/13/2026 |
| 1.5.4.2 | 113 | 4/2/2026 |
| 1.5.4.1 | 110 | 3/31/2026 |
| 1.5.1.1 | 132 | 2/16/2026 |
| 1.4.1.1 | 135 | 2/3/2026 |
| 1.3.10.1 | 137 | 1/14/2026 |
| 1.3.9.4 | 128 | 1/14/2026 |
| 1.3.9.3 | 117 | 1/14/2026 |
| 1.3.9.2 | 335 | 12/15/2025 |
| 1.3.9.1 | 332 | 11/16/2025 |
| 1.3.8.7 | 235 | 10/27/2025 |
| 1.3.8.6 | 161 | 10/11/2025 |
| 1.3.8.5 | 231 | 9/30/2025 |
| 1.3.8.4 | 212 | 9/29/2025 |
| 1.3.8.2 | 210 | 9/29/2025 |
| 1.3.8.1 | 216 | 9/25/2025 |
| 1.3.6.2 | 360 | 9/16/2025 |
| 1.3.6.1 | 219 | 9/5/2025 |
| 1.3.5.2 | 254 | 8/30/2025 |
Loading failed