UWP - 如何在 class 库中使用 Resources.resw
UWP - How to use Resources.resw in class library
在图书馆
public string GetName()
{
ResourceLoader rl = ResourceLoader.GetForCurrentView("ClassLibrary1/Resources");
return rl.GetString("Name");
}
在 "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
图书馆动态引用如何使用资源?
if i add reference this library , it is working well. but i Dynamic reference this library ,it is failure.
你的大部分代码是正确的,你没有提到具体的异常是什么。这是我的演示:
便携式 class 库,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);
立即window中的输出是这样的:
为此,您需要:
构建您的 class 库。
右击你的class库,选择“在文件资源管理器中打开文件夹”,在文件夹中找到“bin”文件夹=>“调试”,复制ClassLibrary1.dll
像这样进入你的 UWP 项目:
虽然这样做可以解决问题,但个人认为,似乎并不比直接添加这个库的引用更容易。
在图书馆
public string GetName()
{
ResourceLoader rl = ResourceLoader.GetForCurrentView("ClassLibrary1/Resources");
return rl.GetString("Name");
}
在 "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
图书馆动态引用如何使用资源?
if i add reference this library , it is working well. but i Dynamic reference this library ,it is failure.
你的大部分代码是正确的,你没有提到具体的异常是什么。这是我的演示:
便携式 class 库,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);
立即window中的输出是这样的:
为此,您需要:
构建您的 class 库。
右击你的class库,选择“在文件资源管理器中打开文件夹”,在文件夹中找到“bin”文件夹=>“调试”,复制
ClassLibrary1.dll
像这样进入你的 UWP 项目:
虽然这样做可以解决问题,但个人认为,似乎并不比直接添加这个库的引用更容易。