【发布时间】:2015-04-03 10:32:20
【问题描述】:
我正在使用 USB I/O 单元,该单元具有可从公司网站下载的第 3 方 DLL(DEDITEC,“delib64.dll”)。我在 Visual Studio 2013 中工作。
同一家公司有一个 C#“包装器”类,它只包含一堆常量和许多 DllImport 包装的静态方法。当我编写一个控制台应用程序并从那里使用包装类时,这一切都很好。
但是,当我在 WPF 程序中包含相同的代码时,它会在首次调用包装器/DllImported 函数时以“对受保护内存的读/写访问”异常中止。我无权访问 DLL 的源代码。
我有扎实的 UNIX 背景,但我的 Windows 技能还不够好。因此我想问:我从哪里开始搜索这种错误?
它感觉像是一个特权、线程或类似问题。我觉得有一个线索,即控制台应用程序可以在没有我做任何特别的事情的情况下工作,当相同的代码在 WPF 应用程序中不起作用时——我只是不太清楚看到线索或知道要做什么搜索。 :-)
【问题讨论】:
标签: c# wpf console-application dllimport access-violation