Windows8 Metro style应用使用Win32 DLL的问题与解决方案

在使用C#+XAML模式开发Metro style应用中,需要使用以前C++的DLL。

而动态加载的方式:LoadLibrary已不被支持

因此使用DllImport方式:

[DllImport("DrDicEnt.dll", EntryPoint = "dicCreateHDICT", SetLastError = true)]
static extern int dicCreateHDICT(int dwWordLangID, string lpIndFileName, string lpDatFileName);

但一开始总是遇到DrDicEnt.dll模块无法加载("Unable to load DLL "xxx.dll")的问题。
其解决方案

1.将相关DLL加入项目(项目项右键选添加已有项)

2.将相关DLL的生成模式设置为内容(content)

以上步骤即可。

另,还有种情况DLL已加入项目,但该DLL还要依赖其他的DLL,这样的情况如果其他DLL没有加入也会产生模块无法加载的异常。

参考资料:

http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/1bec1fd8-3f1c-4f84-a2b9-f3e9086dce39

posted on 2012-10-26 10:26  憨熊之家  阅读(818)  评论(0编辑  收藏  举报

导航