1

我有一个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。 dotPeek of PCL Resources

如何作为用户访问Embedded Resource文本文件?

我用以下资源:

我意识到我拼写错误的资源:/而不是多数民众赞成这个问题。

回答

0

我的问题是我没有得到PCL组件。

解决方案:

var assembly = Assembly.GetAssembly(typeof(StaticPCLClass)); 

我不一定有这个类的工作时,我需要的资源,但是这可以让我获得了大会。 现在我能够拨打:

Stream stream = assembly.GetManifestResourceStream(string.Format("PCL.PCLResrouce.txt")); 

here二手帮助。