需要獲取基恩士掃碼槍的掃描數據,并實現與access數據庫中的數據進行比對。
一. 引用
下到了的SDK,還選擇了Anycpu.
引用中添加了這個dll文件
Communication.dll
Keyence.AutoID.SDK.dll
VncClientControlCommon.dll
using Keyence.AutoID.SDK;
二.遇到的錯誤
1.錯誤一:.net framework版本
結果一開始就報一大堆錯:
未能找到類型或命名空間名“Keyence”(是否缺少 using 指令或程序集引用?)
未能找到類型或命名空間名“ReaderAccessor”(是否缺少 using 指令或程序集引用?)
未能找到類型或命名空間名“ReaderSearcher”(是否缺少 using 指令或程序集引用?)
未能找到類型或命名空間名“NicSearchResult”(是否缺少 using 指令或程序集引用?)
未能找到類型或命名空間名“ReaderSearchResult”(是否缺少 using 指令或程序集引用?)
原因是自己使用了.net framework 4.5 ,將程序修改成.net framework4.6.1
2.錯誤二:x64 or x86
System.BadImageFormatException:“未能加載文件或程序集“Communication, Version=6.49.0.0, Culture=neutral, PublicKeyToken=null”或它的某一個依賴項。試圖加載格式不正確的程序。”
生成里面原來是默認的anycpu,改成x64不行,改成x86, ok
3.讀取的結果需要寫到access數據庫,結果錯誤
System.InvalidOperationException:“未在本地計算機上注冊“Microsoft.ACE.OLEDB.12.0”提供程序。”
原因是原先安裝的Microsoft Access Database Engine 2016 Redistributable X64,現在程序修改成了X86,只能卸載后重新安裝一個X86版本
?