Click here to Skip to main content
15,881,248 members
Articles / Programming Languages / C#

How to Access Manifest (Embedded) Resources from an Assembly in a WinRT Application

Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
10 Sep 2012CPOL1 min read 24.6K   1   2
How to access a simple XML file embedded in the WinRT assembly

In this blog post, I am going to demonstrate how to access a simple XML file embedded in the WinRT assembly.

One of the easier ways to retrieve an assembly in .NET application is by using the below method:

C#
// This will return the assembly whose code is currently executing. 
Assembly.GetExecutingAssembly();

Alternate one is to use Type object of the classes present in the assembly.

C#
Assembly assembly = typeof(DemoClass).GetType().Assembly;

From the assembly object, we can retrieve the manifest resource stream (embedded file) using GetManifestResourceStream() method. All we need is to pass the name of the embedded resource. The name of the embedded resource is the combination of root namespace, folder path and the file name.

For example, consider the root namespace of a demo application to be MyApp and the XML file (Embedded.xml) is available under Resources folder of the assembly. Then, the name of the embedded resource is “MyApp.Resources.Embedded.xml”.

Sample Code Snippet for .NET

C#
Assembly assembly = Assembly.GetExecutingAssembly();

or:

C#
Assembly assembly = typeof(DemoClass).GetType().Assembly;
Stream xmlStream = assembly.GetManifestResourceStream("MyApp.Resources.Embedded.xml");

In WinRT, both GetExecutingAssembly() and GetType().Assembly are not available, instead you can retrieve the assembly object from the classes declared in the assembly by means of using TypeInfo object. Now the remaining part to access the manifest resource is the same as in a .NET application. Please find the code snippet from below.

Sample Code Snippet for WinRT

C#
Assembly assembly = typeof(DemoClass).GetTypeInfo().Assembly;
Stream xmlStream = assembly.GetManifestResourceStream("MyApp.Resources.Embedded.xml");

Please find the demo application from this link. In this application, embedded XML file is retrieved and its contents are displayed in a text box.

This article was originally posted at http://rajendransp.blogspot.com/feeds/posts/default

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Technical Lead Syncfusion
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionWindows 10 Pin
Benoit Lacert6-Aug-15 10:16
Benoit Lacert6-Aug-15 10:16 
GeneralMy vote of 5 Pin
Farhan Ghumra6-Jan-13 19:08
professionalFarhan Ghumra6-Jan-13 19:08 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.