public string GetName()
{
ResourceLoader rl = ResourceLoader.GetForCurrentView("ClassLibrary1/Resources");
return rl.GetString("Name");
}
at" ResourceLoader rl = ResourceLoader.GetForCurrentView(" ClassLibrary1 / Resources");"
类型' System.Runtime.InteropServices.COMException'的例外情况发生在ClassLibrary1.dll中但未在用户代码中处理
WinRT信息:未找到ResourceMap。
其他信息:未找到ResourceMap。
未找到ResourceMap。
如果存在此异常的处理程序,则可以安全地继续该程序。
如果我添加引用此库,它运行良好。 但我动态参考这个库,它是失败的。
Assembly assembly = Assembly.Load(new AssemblyName("ClassLibrary1"));
if (assembly == null)
{
return;
}
Type type = assembly.GetType("ClassLibrary1.Class1");
ICore core = Activator.CreateInstance(type) as ICore;
textBlock1.Text = core.GetName();
//ClassLibrary1.Class1 c1 = new ClassLibrary1.Class1();
//textBlock1.Text = c1.GetName(); //it is working well
如何在库中使用资源进行动态参考?
答案 0 :(得分:0)
如果我添加引用此库,它运行良好。但我动态引用这个库,它是失败的。
你的大部分代码都是正确的,你没有提到究竟是什么例外。这是我的演示:
便携式类库,class1:
public class Class1
{
public Class1()
{
Debug.WriteLine("ClassLib Loaded!");
}
public void Output()
{
Debug.WriteLine("ClassLib method!");
}
}
在UWP应用中:
Assembly assembly = Assembly.Load(new AssemblyName("ClassLibrary1"));
if (assembly == null)
{
return;
}
Type type = assembly.GetType("ClassLibrary1.Class1");
object obj = Activator.CreateInstance(type);
var method = type.GetMethod("Output");
method.Invoke(obj, null);
即时窗口中的输出如下:
为此,您需要: