如何从PCL访问嵌入式资源定位ASP.NET CORE和.NET Framework 4.6
问题描述:
我有一个PCL定位ASP.NET核心& .NET Framework 4.6。如何从PCL访问嵌入式资源定位ASP.NET CORE和.NET Framework 4.6
在PCL的根目录中,我添加了PCLResource.txt并将其标记为Build Action> Embedded Resource。
发布到的NuGet,从安装的NuGet我的消费者的WinForm应用(4.6.2)
调用PCL.TestMethod()
作品。然而,
string[] asm = Assembly.GetExecutingAssembly().GetManifestResourceNames();
而且
var assembly = GetType().GetTypeInfo().Assembly;
string[] resources = assembly.GetManifestResourceNames();
结果:
- PCLConsumerApp.Form1.resources
- PCLConsumerApp.Properties.Resources.resources
而且
个Stream stream = assembly.GetManifestResourceStream(string.Format("PCL.PCLResrouce.txt"));
结果null
使用dotPeek,我可以看到PCLResrouce.txt的DLL。
如何作为用户访问Embedded Resource文本文件?
我用以下资源:
- Tip: Accessing Binary Resources in Portable Class Library
- How to read a text file on Xamarin Forms PCL project?
- How to read a resource file within a Portable Class Library?
我意识到我拼写错误的资源:/而不是多数民众赞成这个问题。
答
我的问题是我没有得到PCL组件。
解决方案:
var assembly = Assembly.GetAssembly(typeof(StaticPCLClass));
我不一定有这个类的工作时,我需要的资源,但是这可以让我获得了大会。 现在我能够拨打:
Stream stream = assembly.GetManifestResourceStream(string.Format("PCL.PCLResrouce.txt"));
从here二手帮助。