开发者

resources at class library project

I want to add some xml file as resource to my class library project . Any idea how to do so , and call it later? In windows application i would do it like ClassLibrary1.Properties.Resources.file.xml

But here it didn开发者_如何学Python't worked any idea how i do it here ?


This article explain how to use embedded resources in C#.

It boils down to

  1. At 'Design time': Add file to project and mark it as an embedded resource (properties)
  2. At 'Run time': Get instance of Assembly that holds the resource you want, then get that resource out as a stream.

var assembly = Assembly.GetExecutingAssembly();

var stream = assembly.GetManifestResourceStream("fully.qualified.name.of.the.resource");

If you're struggling to work out the fq name of the resource, a lazy way is to use the reflector to open the assembly that holds it. Go to the Resources folder, right click on the particular resource and choose 'Copy'.


In windows application i would do it like ClassLibrary1.Properties.Resources.file.xml

By default, the class generated to access the resources is internal, so you can't access it from another assembly. If you need to make it public, select the .resx file, go to its properties, and change the Custom tool property from "ResXFileCodeGenerator" to "PublicResXFileCodeGenerator". This custom tool generates public classes, which should solve your problem.


Right Click on Class Library Project, select properties, on tabs on the left choose Resources section.

Since your .resx files ares not recognizable by Visual Studio, add a new one. It will create a new .resx file.

Copy all your original content and paste into new one. Then you can delete old one. That's it!

You would need to repeat same process for your all supported languages.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜