本帖最后由 轩墨玉生烟 于 2018-4-12 00:32 编辑
时隔将近四个月,Cabinink Common Library又更新了,这一次更新会带来很多新的技术特性,还望大家做好迎接新版本的准备哦。另外,由于工作原因,ORM和本地文件版本控制系统模块将暂时搁置,因此这一次才会发布Beta 05版本,还请大家谅解,谢谢!
注意:Base、所有的Alpha版本,以及Beta 1、Beta 2、Beta 3和Beta 4版本已经停止维护!另外,关于ORM和本地文件版本控制系统这两大模块将会在以后分别添加orm-code和lfvcs-code两个分支进行编码与测试,下一次更新将会进入RC通道!
目前该版本仍处于开发阶段,鉴于目前的开发进度,因此将会发布一个新的Beta版本供大家测试,谢谢!
程序集信息
程序集名称:Cabinink Common Library
程序集版本:1.0.1804.168 Beta 5
主文件版本:1.0.1804.168
开发阶段:Beta 阶段
开发语言:Visual C#
运行时版本:.NET Framework 4.5
集成开发环境:Visual Studio 2017 Enterprise
更新时间:2018年04月08日
程序集命名空间概述
Cabinink:根命名空间。
Cabinink.Algorithm:算法相关的命名空间。
Cabinink.DataTreatment:数据操作。
Cabinink.DataTreatment.Database:包含一些数据库系统操作的命名空间。
Cabinink.DataTreatment.Database.Extend:数据库操作调用扩展。
Cabinink.DataTreatment.DocumentData:文本数据操作。
Cabinink.DataTreatment.ORMapping:ORM框架基础性实现。
Cabinink.DataTreatment.WebData:实现基本的网络数据读取操作。
Cabinink.Devices:本地设备管理以及操作。
Cabinink.IOSystem:本地文件输入输出操作。
Cabinink.IOSystem.RevisionControl:本地文件版本控制系统的实现。
Cabinink.IOSystem.Security:文件安全相关类所在的命名空间。
Cabinink.Network:网络操作以及相关功能实现。
Cabinink.TypeExtend:CLR基础类型扩展。
Cabinink.TypeExtend.Collections:基本的集合类型扩展与增强(NEW)。
Cabinink.TypeExtend.Geometry2D:基础平面几何相关操作以及描述。
Cabinink.Windows:Windows操作系统相关的操作。
Cabinink.Windows.Applications:Windows应用程序相关的操作以及特征实现。
Cabinink.Windows.Energy:能源操作相关的命名空间。
Cabinink.Windows.Privileges:Windows系统权限相关操作。
Beta 5版本特性
1、新增显示器分辨率更改,以及刷新率等相关参数的设置。
2、新增内存块复位操作,但仍需要进一步验证与完善,该功能可能会在后期进行移除。
3、在CodeHelper类新增两个函数,是基于其他两个异常判定函数的补充和扩展。
4、修正IOSecurityFile部分线程的线程访问数量控制,以及这个类的其他相关更新,但与CvsFileOperator类一样仍存在几乎相同的BUG。
5、新增音频播放基础支持,可能会在后期进行彻彻底底的代码重构。
6、新增双向链表功能,以及快捷方式操作类。
7、在FileOperator类新增相同文件获取的函数,该函数是基于MD5校验的原理实现的。
8、新增几个数学常量,以及额外新增一些物理常量。
9、更新了BigDate的部分线程,以及SerialPort操作的预实现。
10、更新能源操作和进程操作的部分线程。
11、新增Win32ApiExecutedResult类,用于存储非托管代码在执行之后的结果。
12、新增VideoPlayer类,用于实现常用格式的视频播放等功能。
13、其他线程更新,以及修复部分早期版本遗留下来的BUG。
下一个版本(RC)可能会更新的功能
1、重构SoundPlayer类的代码。
2、修复上一个版本以及更早版本遗留下来的部分BUG。
源代码注意事项
1、如果在编译源代码并想这些代码生效时,你可能需要将Unmanaged Code Dependency目录下的所有第三方依赖项添加到代码引用中!
2、以下代码依赖项需要手动复制到项目的生成目标文件夹中,否则在使用某些相关功能,可能将会导致一些未知的异常:
- Unmanaged Code Dependency\SQLite.Interop.dll
- Unmanaged Code Dependency\Microsoft.WindowsAPICodePack.DirectX.dll
举例说明,如果您的项目的生成目标文件夹是
C:\CodeSolution\CSharpProjects\StudentManagementPlatform\StudentManagementPlatform\bin\Release
那么你则需要将上面所提到的文件手动复制到这个目录中去,否则可能会出现一些异常,比如说SQL语法错误等异常。
3、建议将Cabinink Common Library所有的依赖项在您的项目中进行引用(SQLite.Interop.dll和Microsoft.WindowsAPICodePack.DirectX.dll需要手动添加到项目输出目录),这样可以保证您在使用某些功能不会出现其他的异常(诸如视频播放等),特别是与DirectX相关的依赖项,毕竟目前这个版本在DirectX中增加了以下的依赖:
- Microsoft.DirectX.Direct3D.dll
- Microsoft.DirectX.AudioVideoPlayback.dll
上述的这些依赖项需要Microsoft DirectX SDK的支持,如果您的计算机没有安装Microsoft DirectX SDK,请点击这里进行下载,若您的网络浏览器无法点击这个超链接,请手动复制以下链接前往进行下载:https://www.microsoft.com/en-us/download/details.aspx?id=6812
4、如果元组操作出现代码错误或者其他异常,可能是因为项目文件中未包含System.ValueTuple.dll的引用信息,如果出现这种状况,只需要将Unmanaged Code Dependency\System.ValueTuple.dll添加到引用即可,如果添加引用失败,请尝试以下操作:
- 在Visual Studio中打开程序包管理控制台(Package Manager Console)。
- 在打开的控制台执行命令:Install-Package System.ValueTuple -Version 4.3.1
为什么需要这样做?因为在C# 7.0中,引入了一个新的泛型类型ValueTuple<T>来解决泛型相关的问题,这个类型位于一个单独的dll(System.ValueTuple)中,所以就需要通过nuget来将这个依赖项引入到你当前的项目中。
5、从这个版本开始一直到正式版之前,都不会提供帮助文档,如果不清楚某些代码的使用,可以在对象浏览器查看详情。
6、如果你使用的是早期版本的Visual Studio,那么某些能够在Visual Studio 2017中没有语法错误的代码风格,将会在你所使用的版本中失效。举例说明,在Visual Studio 2017中,一个单行代码的属性可以用如下的格式书写:
[C#] 纯文本查看 复制代码 public Video DirectXVideoInstance { get => _video; set => _video = value; } 那么在早期版本的Visual Studio中请修改为:[C#] 纯文本查看 复制代码 public Video DirectXVideoInstance { get { return _video; } set { _video = value; } } 另外,实例属性的赋值,在Visual Studio 2017中可以用下面的格式去描述:[C#] 纯文本查看 复制代码 SDevicesMode devM = new SDevicesMode
{
Size = (short)Marshal.SizeOf(typeof(SDevicesMode))
};
那么上述代码在早期版本的Visual Studio中则需要修改为:[C#] 纯文本查看 复制代码 SDevicesMode devM = new SDevicesMode();
devM.Size = (short)Marshal.SizeOf(typeof(SDevicesMode)); 以上的新语法格式均来自与C# 7.0,如果你需要了解更多C# 7.0或者Visual Studio 2017的新特性,请点击这里进行详细了解,如果您的网络浏览器无法访问刚才的链接,请手动复制以下链接前往进行访问:https://www.cnblogs.com/cncc/p/7698543.html
资源下载
1、程序集:
2、源代码:
|