为了充分利用 .NET Core 的跨平台特性,该接口提供了两个软件包变体。它们都包含完整的 HALCON/.NET 和 HDevEngine/.NET 语言绑定。
该软件包以 .NET Standard 2.0 为目标,可用于 HALCON 支持的所有架构。
该软件包以 .NET Core 3.1 为目标,此外还包括 Windows 窗体和 WPF 控件,用于将 HALCON 窗口集成到 GUI 应用程序中。由于其他 .NET Core 3.1 实现不提供 Windows 窗体或 WPF 支持,因此该软件包只能在 Windows 上使用。
使用以下命令在项目中添加软件包引用:
dotnet add package <PACKAGE_NAME> -v 23050
虽然 NuGet 使用 SemVer 来对软件包进行版本控制,但 HALCON 版本并不兼容 SemVer。为避免不必要的冲突,.NET Core 软件包通过将主版本、次版本和修订版本合并为一个新版本,从而获得与 SemVer 兼容的版本,例如:.NET Core 版本:
HALCON/.NET 不是一个独立的软件包,而是本地 HALCON 库的一个接口。因此,项目使用的软件包版本必须与已安装的 HALCON 版本完全一致。
即使是在应用层面向后兼容的维护版本,也不建议混合使用不同版本的二进制文件,因为 HALCON/.NET 和本地 HALCON 库之间的内部通信无法保证始终兼容。因此,HALCON 版本的修订也是 SemVer 主版本的一部分。SemVer 次版本和补丁版本是为软件包本身完全向后兼容的中间版本保留的。有关更新依赖关系,参见".NET Core" 一节 。
要离线使用软件包,请从 NuGet 网站下载。考虑在项目中添加 nuget.config 文件。这有助于从文件系统可靠地获取源代码。
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="LocalHalconPackages" value="path/to/package" /> </packageSources> </configuration>
使用 HALCON XL 开发应用程序时,请选择以下 XL 软件包:
关于与 HALCON 升级相关的 HALCON/.NET 升级,参阅 ".NET Core" 一节 。
您可以通过以下步骤将 HALCON/.NET 添加到应用程序中:
对于第一个应用程序,请自定义 Visual Studio 的工具箱(参见 "自定义 Visual Studio 的工具箱" 一节 )。
为每个应用程序添加 HALCON/.NET 引用("添加 HALCON/.NET 引用" 一节 )并指定命名空间("指定命名空间" 一节 )。
HALCON/.NET 程序集不仅提供了一个类库,还提供了一个控件:HSmartWindowControl(或 HSmartWindowControlWPF),其中包含一个用于可视化图像和结果的 HALCON 图形窗口。
旧版控件 HWindowControl 仍可用于向后兼容,但强烈建议新项目不要使用该控件(有关区别的信息,参见 "可视化窗口控件" 一节 )。
您可以通过以下步骤将这些控件添加到 Visual Studio 的工具箱中。请注意,在不同版本的 Visual Studio 中,确切的菜单名称略有不同:
HALCON XL 应用:
!
请注意,只有在需要 HALCON XL 功能时才使用。
使用 HALCON XL 开发应用程序时,请选择 HALCON/.NET XL DLL 而不是 HALCON/.NET DLL。在工具箱中,控件名称相同,但图标不同。您可以将两个 HALCON 版本都添加到工具箱中,但只能将其中一个添加到应用程序中。
在许多应用程序中,您将至少使用一个 HSmartWindowControl 实例来可视化结果。通过将该控件添加到窗体(如 "为可视化添加和自定义 HSmartWindowControl" 一节 所述),您将自动创建对 HALCON/.NET DLL 程序集的引用。
如果不想使用 HSmartWindowControl,请添加如下引用:
HALCON XL 应用:
!
请注意,只有在需要 HALCON XL 功能时才使用。
使用 HALCON XL 开发应用程序时,请选择 HALCON/.NET XL DLL 而不是 HALCON/.NET DLL。如果您已经添加了对 HALCON 版本的引用,只需删除该引用并添加对 HALCON/.NET XL DLL 的引用。