C# 找不到Okuma THINC API依赖项文件异常

C# 找不到Okuma THINC API依赖项文件异常,c#,dll,okuma,C#,Dll,Okuma,我必须将一个非常简单的程序从Vb转换成C。 Vb有这些引用 从这里看,如果我没有弄错的话,这些应该是托管DLL。如果我使用dumpbin.exe程序遵循此过程,则会获得相同的结果 所以一切都应该很好。 但是当我这样做时,cWorkkiet instance=newcWorkkiet()我得到以下错误 这表明相关的dll不在正确的位置。 然而,如果该文件是正确的,那么它是正确的 也就是说,我认为也许我做了一个错误的调查,但添加以下几行并没有帮助 [DllImport("C:\\Tem

我必须将一个非常简单的程序从Vb转换成C。 Vb有这些引用

从这里看,如果我没有弄错的话,这些应该是托管DLL。如果我使用dumpbin.exe程序遵循此过程,则会获得相同的结果

所以一切都应该很好。 但是当我这样做时,
cWorkkiet instance=newcWorkkiet()我得到以下错误

这表明相关的dll不在正确的位置。 然而,如果该文件是正确的,那么它是正确的

也就是说,我认为也许我做了一个错误的调查,但添加以下几行并没有帮助

    [DllImport("C:\\Temp\\1\\Okuma.CLDATAPI.dll")]
    public static extern int CWorkpiece();
简而言之,问题都与无法找到的dll有关 提前感谢您的帮助 Patrick

请参阅THINC API安装手册的“4.5.1.3.3.1缺少库文件”一节。

使用.NET THINC-API库开发的所有应用程序都需要包含具有自定义安装的THINC-API库的精确版本。使用应用程序编译的THINC-API库应 与应用程序文件夹一起安装

上面的错误消息显示,在运行应用程序的文件夹中找不到名为Okuma.CLDATAPI.dll的THINC-API库

解决方案:在自定义设置中包含应用程序中编译的THINC-API库,然后重新安装 您的应用程序具有新的设置

是,THINC API库是托管的.NET库。命令(CMD)API是用VB编写的,数据API是用VC++编写的。根据您拥有的API版本,这些库可以是用.NET 1.1或4.0编写的。 所以你真的不应该试着用Pinvoke

您面临的真正问题是试图在未安装THINC API的环境中运行程序。是的,应用程序引用了库,但这还不够

THINC API库有几个依赖项,包括:

  • Okuma.FlexNet.dll
  • Okuma.ApiLog.dll/Okuma.Api.LogService.dll
  • LDATAPI.dll/MDATAPI.dll/GDATAPI.dll
  • LCMDAPI.exe/MCMDAPI.exe/GCMDAPI.exe
  • PIODlib.dll
  • Softswitch.exe

解决方案
  • 获取API安装光盘的副本;从Okuma机器附带的光盘或通过Okuma经销商购买的新版本光盘

  • 在开发环境中安装THINC API的开发版本

  • 请注意,除非您的环境是以下环境之一,否则您将无法
    Init()
    或调用任何其他API函数:

    • 安装了和THINC API的实际Okuma机器
    • “NC主控”模拟器,如:
    • 或PC NC主机,它是一个全软件模拟器
    在尝试使用DllImport之前,您是如何添加引用的?在C#项目中,引用旁边是否有一个带“!”的小黄色三角形?据我所知,dllimport应该只用于非托管DLL。所以这里应该没有必要。但是我添加了它们,右键单击项目引用-->添加引用-->浏览。没有,没有黄色警告标志(见图1)。事实上,在pic 3中,dll是存在的,请尝试创建一个新项目。添加引用并仅添加一行
    cWorkcute instance=new cWorkcute()-您是否收到相同的错误?是:-(相同的dll缺少错误它位于何处?您是否尝试将其复制到项目结构内的文件夹中并从此处创建引用?