C# 确定兼容API的最低版本

C# 确定兼容API的最低版本,c#,api,okuma,C#,Api,Okuma,考虑到thincapi的编写是向后兼容的,并且较低的版本使更多的潜在机器能够运行给定的应用程序,每个人都应该努力使用所需的最低版本 是否有人知道是否有一种简单的方法可以确定给定应用程序所需的最低版本 例如,我有一个只使用3个API函数的应用程序: GetHourMeterCount,GetActiveProgramName和GetMachiningReport 我如何知道我可以使用哪种API版本?我可以考虑几种可能性: 对于您的情况,我能想到的最简单的解决方案就是查看.chm文档中最早的THI

考虑到thincapi的编写是向后兼容的,并且较低的版本使更多的潜在机器能够运行给定的应用程序,每个人都应该努力使用所需的最低版本

是否有人知道是否有一种简单的方法可以确定给定应用程序所需的最低版本

例如,我有一个只使用3个API函数的应用程序:
GetHourMeterCount
GetActiveProgramName
GetMachiningReport


我如何知道我可以使用哪种API版本?

我可以考虑几种可能性:


对于您的情况,我能想到的最简单的解决方案就是查看.chm文档中最早的THINC API版本,看看它是否支持
GetHourMeterCount
GetActiveProgramName
GetMachiningReport
。如果没有,请继续检查更高版本,直到找到一个版本


如果您有一个使用更多THINC API功能的更复杂的解决方案,快速检查如下:

  • 确保项目构建干净
  • 进入项目引用并删除对thincapi的引用。现在,在引用thincapi的任何地方都会出现编译错误
  • 添加对ThincAPI最早版本的引用
  • 重建。如果仍然存在编译器错误,则代码引用此版本中不存在的一个或多个THINC方法。转到下一个版本并重新生成
  • 一旦您的项目再次干净地构建,您就找到了要引用的thincapi版本

  • 您还可以编写一个工具来检查代码(通过代码分析)或编译的程序集(通过反射)以找到所有THINC API功能,然后查看THINC API的多个版本以找到实现所有功能的最早版本。这应该不难,但似乎还是有些过分


    出于您的目的,与支持这些方法的版本相比,拥有一个包含所有THINC API方法的表也很方便。我没有这样一张桌子,但想必有人会有

    所有这些方法都只是检查给定版本的ThincAPI中是否存在某些函数。它们不会警告您任何破坏性的更改或不同版本之间的不同行为。这需要了解API、检查发行说明和/或测试