"使用 HALCON/.NET 创建应用程序" 一章 强调了 .NET 应用程序的平台独立性。但是,应用程序仍然取决于其目标 .NET 运行环境,对于图形用户界面应用程序,则取决于 Windows 窗体或 WPF 的相应实现。
.NET有两个主要环境:.NET Framework 2.0-4.8和.NET Core 3.1,下一个版本被命名为.NET 5和.NET 6。.NET 6提供了从.NET 5开始的.NET统一计划的最后部分。一般来说,这些依赖关系在一个分支内是向后兼容的,例如,以 .NET Framework 2.0 为目标的应用程序应能在所有较新的 .NET Framework 版本下运行。用 Visual Studio 2019 打开 Visual Studio 2013 的项目文件应该也是可行的。此外,NuGet 软件包已在针对 .NET 5 和 .NET 6 的应用程序中进行了测试,没有发现任何兼容性或可移植性问题。
表 10.1 列出了不同 HALCON/.NET 接口变体的最低要求和功能。
| 最低开发环境 | HALCON/.NET 接口 | 最低运行环境 | Windows 窗体 | WPF | Linux 支持 |
| Visual Studio 2013 | %HALCONROOT%\bin\dotnet20 | .NET Framework 2.0 | Yes | No | Mono |
| Visual Studio 2013 a | %HALCONROOT%\bin\dotnet35 | .NET Framework 3.5 | Yes | Yes | Mono (no WPF) |
| .NET Core 3.1 SDK (Windows)b | MVTec.HalconDotNet (NuGet Package) MVTec.HalconDotNet-Windows (NuGet Package) | .NET Standard 2.0 .NET Core 3.1 | No Yes | No Yes | Yes No |
| .NET Core 3.1 SDK (Linux) | MVTec.HalconDotNet (NuGet Package) | .NET Standard 2.0 | No | No | Yes |
| a Visual Studio 2008 对 WPF 的支持还很初级,对设计器的支持也很有限。 | |||||
| b 如果要使用 Visual Studio,至少需要 2019 版本。 | |||||
表 10.1: 不同 HALCON/.NET 接口变体的属性。
所提供的示例通常针对最早的支持环境。例如,Windows 窗体应用程序以 .NET Framework 2.0 为目标,随 Visual Studio 2013 版本一起提供,可在所有较新版本的 Visual Studio 中打开。
非 WPF C# 示例还附带 makefile,支持在 Windows 下使用 .NET Framework 或在 Linux 下使用 Mono 通过命令行构建。源文件放置在项目或 makefile 目录旁边的单独共享源代码目录中。我们还提供了一些专用的 .NET Core 示例,适合使用 .NET Core SDK 通过命令行构建。