10.2 .NET 开发环境

"使用 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 通过命令行构建。