在使用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没有加入也会产生模块无法加载的异常。
参考资料: