尝试将BouncyCastle c#dll添加到我的WP8原生应用程序中。
结果: 在编译时 “警告:没有为.winmd文件提供实施文件”
在运行时它崩溃,当我停止模拟器时,我得到“WinRT信息:类未注册”(它比这长得多,抱怨丢失了PDB文件窗口文件,如Windows.winmd和System.Windows.RuntimeHost.ni.dll)
我用ILDASM打开了winmd。 解密和加密的实现在那里?我做错了什么?
我知道它被问到No implementation file was provicded for the .winmd file但是还没有答案。我正在尝试......(无法弄清楚如何将其添加为问题)
修改
只是一个澄清。当我说:“我在组件中扭曲现有的C#dll并创建MyBouncyCastleComponent.winmd ”
我所做的是将BouncyCastle source 代码放入运行时组件中,并使用包装类来公开我需要的BouncyCastle方法。
答案 0 :(得分:0)
看起来你正在跳过箍试图获得为完整的.NET框架编译的C#DLL,以便在Windows Phone上运行。 Windows Phone使用不同的.NET配置文件,并且与完整的.NET框架不是二进制兼容的,因此这不起作用。
对于BouncyCastle,您需要引用专门为Windows Phone构建的二进制DLL - 例如,通过BouncyCastle源代码自己构建一个。
更新: 当您使用BouncyCastle的子集时,您可以将所需的源代码放在可移植类库项目中,以便它可以直接在Windows Phone和Windows应用商店应用中使用。