系统相关
首页 > 系统相关> > c# – 如何通过Windows Phone 8中的Assembly.Load动态加载程序集?

c# – 如何通过Windows Phone 8中的Assembly.Load动态加载程序集?

作者:互联网

现在我有一个问题,我想动态加载程序集依赖于平台(x86,ARM).我创建一个条件编译符号_M_ARM来区分x86和ARM.

所以我使用System.Reflection.Assembly.LoadFrom(@“MP3 / ARM / Mp3EncLib.dll”),但发生了一个例外,即Windows Phone上不支持Assembly.LoadFrom.

所以我使用另一种方法System.Reflection.Assembly.Load(@“MP3 / ARM / Mp3EncLib.dll”),但它抛出异常,这是

Additional information: Could not load file or assembly
‘MP3/ARM/Mp3EncLib.dll, Culture=neutral, PublicKeyToken=null’ or one
of its dependencies. The given assembly name or codebase was invalid

private void Application_Launching(object sender, LaunchingEventArgs e)
{
#if _M_ARM
    System.Reflection.Assembly.Load(@"MP3/ARM/Mp3EncLib.dll");
#else 
    System.Reflection.Assembly.Load(@"MP3/X86/Mp3EncLib.dll");
#endif
}

这是我的解决方案

任何人都知道如何使用该方法.或者更好的方式

解决方法:

我相信你必须完全限定程序集,如SomeCompany.SomeNamespace,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null.

标签:c,net,net-assembly,windows-phone-8,dllimport
来源: https://codeday.me/bug/20190708/1405768.html