C# 引用Siemens.Sinumerik.Operate.Services.dll开发加工软件
执行到如下代码片段:会报错。
try
{
m_dataSvc = new DataSvc();
m_dicPiServiceHandle = new Dictionary<string, PiSvc>();
}
catch (Exception ex)
{
m_log4.Error(ex);
}
实例化DataSvc对象时,抛出异常,如下:
===================================================================================================================================
异常时间:2021-04-03 18:46:25,316 | 线程:[1] | 信息等级:ERROR | 出错位置:DeviceSiemens.SiemensCNC..ctor()
System.IO.FileNotFoundException: 未能加载文件或程序集“Siemens.Sinumerik.Operate.Services.Wrapper, Version=4.5.4.0, Culture=neutral, PublicKeyToken=bdd90fa02fd1c4ee”或它的某一个依赖项。系统找不到指定的文件。
文件名:“Siemens.Sinumerik.Operate.Services.Wrapper, Version=4.5.4.0, Culture=neutral, PublicKeyToken=bdd90fa02fd1c4ee”
在 Siemens.Sinumerik.Operate.Services.DataSvc.InitClass(String server)
在 Siemens.Sinumerik.Operate.Services.DataSvc..ctor()
在 DeviceSiemens.SiemensCNC..ctor() 位置 e:\CSharp\CSharpCode\HMI_test\DeviceSiemens\SiemensCNC.cs:行号 70
=== 预绑定状态信息 ===
日志: DisplayName = Siemens.Sinumerik.Operate.Services.Wrapper, Version=4.5.4.0, Culture=neutral, PublicKeyToken=bdd90fa02fd1c4ee
(Fully-specified)
日志: Appbase = file:///E:/CSharp/CSharpCode/HMI_test/JwClient/JwClient/bin/Debug/
日志: 初始 PrivatePath = NULL
调用程序集: Siemens.Sinumerik.Operate.Services, Version=4.5.4.0, Culture=neutral, PublicKeyToken=bdd90fa02fd1c4ee。
===
日志: 此绑定从 LoadFrom 加载上下文开始。
警告: 将不在 LoadFrom 上下文中探测本机映像。仅在默认加载上下文中探测本机映像,例如,使用 Assembly.Load()。
日志: 正在使用应用程序配置文件: E:\CSharp\CSharpCode\HMI_test\JwClient\JwClient\bin\Debug\JwClient.exe.Config
日志: 使用主机配置文件:
日志: 使用 C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config 的计算机配置文件。
日志: 策略后引用: Siemens.Sinumerik.Operate.Services.Wrapper, Version=4.5.4.0, Culture=neutral, PublicKeyToken=bdd90fa02fd1c4ee
日志: 尝试下载新的 URL file:///E:/CSharp/CSharpCode/HMI_test/JwClient/JwClient/bin/Debug/Siemens.Sinumerik.Operate.Services.Wrapper.DLL。
警告: 比较程序集名称时发生不匹配: 修订号
日志: 尝试下载新的 URL file:///E:/CSharp/CSharpCode/HMI_test/JwClient/JwClient/bin/Debug/Siemens.Sinumerik.Operate.Services.Wrapper/Siemens.Sinumerik.Operate.Services.Wrapper.DLL。
日志: 尝试下载新的 URL file:///E:/CSharp/CSharpCode/HMI_test/JwClient/JwClient/bin/Debug/Siemens.Sinumerik.Operate.Services.Wrapper.EXE。
日志: 尝试下载新的 URL file:///E:/CSharp/CSharpCode/HMI_test/JwClient/JwClient/bin/Debug/Siemens.Sinumerik.Operate.Services.Wrapper/Siemens.Sinumerik.Operate.Services.Wrapper.EXE。
日志: 尝试下载新的 URL file:///E:/CSharp/CSharpCode/HMI_test/ConfiguratorSiemensOperate/bin/Debug/Siemens.Sinumerik.Operate.Services.Wrapper.DLL。
警告: 比较程序集名称时发生不匹配: 修订号
日志: 尝试下载新的 URL file:///E:/CSharp/CSharpCode/HMI_test/ConfiguratorSiemensOperate/bin/Debug/Siemens.Sinumerik.Operate.Services.Wrapper/Siemens.Sinumerik.Operate.Services.Wrapper.DLL。
日志: 尝试下载新的 URL file:///E:/CSharp/CSharpCode/HMI_test/ConfiguratorSiemensOperate/bin/Debug/Siemens.Sinumerik.Operate.Services.Wrapper.EXE。
日志: 尝试下载新的 URL file:///E:/CSharp/CSharpCode/HMI_test/ConfiguratorSiemensOperate/bin/Debug/Siemens.Sinumerik.Operate.Services.Wrapper/Siemens.Sinumerik.Operate.Services.Wrapper.EXE。
大概是说找不到Siemens.Sinumerik.Operate.Services.Wrapper.dll
可是如下两个dll放在同一个目录了,不少
(Siemens.Sinumerik.Operate.Services.Wrapper.dll)
(Siemens.Sinumerik.Operate.Services.dll)
这个坑卡了好几天了,请各位专家不吝赐教,谢谢!
版主推荐答案
我们倒是这方面应用多一些,OPCUA和3GL的开发都涉及,C#编程也有。 看引用的库应该是3GL的,引用目录和调试确实需要注意,需要连接在X120口网络上,并且打开Operate;如果没有真实环境,可以用sinutrain代替。VS需要经过特定路径打开才能正确调试。
查看完整帖子:
http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1689641&bid=20
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc350868.html