在 Windows XP 上为旧机器创建应用程序

Creating Application for Older Machines on Windows XP

我知道我需要为旧的 OSP200 控件使用 .NET 4.0 运行 Windows XP Embedded SP3 但我正在寻找有关最新版本 API 的帮助机器,它在 Scout.log 报告中显示 1.22.0,但 Scout 的前面板显示 Thinc API 是“未知”,1.22.0 是不是太新了?

**************************************************
[INSTALLED_PROGRAMS]
THINC-API=1.22.0
D300win Ver 3.1.4.20=3.1.4.20
OSP-PLC Loader Ver 3.1.4.0=3.1.0.0
Vektek AWP version 1.2XP=1.2XP
WebFldrs XP=9.50.7523
Okuma THINC Startup Service=4.6.0
**************************************************

我们的应用程序从最新的 API/SDK 开始,我们将其备份到 .NET Framework 4 for Win XP 目标。我们应该使用什么级别的 Okuma.API 和 Okuma.Scout 来与 .NET 4 和我们的 API 版本兼容? 目前我有 Okuma.API 的 1.18.0 和 Okuma.Scout 的 4.12.0。

我们的程序日志文件中出现 Okuma DLL 未找到错误。

**************************************************
2020-07-15 01:57:12.6920 [FATAL]: Error Initalizing Cmachine and CVariables: Could not load file or assembly 'Okuma.Interop.MCMDAPI, Version=1.0.3.0, Culture=neutral, PublicKeyToken=4e002078be5840a0' or one of its dependencies. The system cannot find the file specified.
**************************************************

我想我明白这里发生了什么。
我怀疑当您降级应用程序的 THINC API 版本时,您没有删除所有旧的 API 引用。 Okuma.Interop.MCMDAPI 不是 1.18 的一部分。 尝试删除该引用。

此外,我知道 SCOUT over-due 需要更新。正在筹备中。
您应该始终使用可用于开发的最新库版本。 我认为 SCOUT 知道的最新版本的 THINC API 是 1.22,这意味着 SCOUT 应用程序应该能够在您的情况下正确识别它。 有几个可能的原因导致 SCOUT 应用程序无法正确识别 THINC API 版本。最常见的原因之一是 miss-match 个自定义 API 文件。如果您将完整的 SCOUT 日志发送到 Okuma dot com 的“API”,我可以查看并告诉您发生了什么。

使用 SCOUT 开发应用时,请不要依赖 SCOUT 来确定 THINC API 版本。请改用 ThincApi.DoesMachineSupportThincApiVersion 方法。