C#: Embedded files
Posted on 2009-12-17
I have been racking my brain to solve this problem. I have two C# application.
1: CSharpUtilityBelt (Class Library built into a DLL)
2: ConsoleApplication1 (Built into an EXE)
In the class library I have added a XML file and set it to embedded resource. Then in ConsoleApplication1 I referenced CSharpUtilityBelt. I have been looking for ways to get to the embedded resource, here is what I found.
"Do you want the data in the file or the filename? I use the following to
access the contents of an embedded file:
Stream stream =
Note that the name needs to include the default namespace for the[/color][/color]
e.g. If the default namespace was My.Namespace and the file with its[/color][/color]
action set to "Embedded Resource" was called TextFile1.txt then you'd[/color][/color]
to pass "My.Namespace.TextFile1.txt" to GetManifestResourceStream().
You can check what the name to use for a built assembly by loading the
assembly into ildasm.exe, opening the manifest, and looking for the[/color]
.mresource public My.Namespace.TextFile1.txt
Here is my code in ConsoleApplication1:
System.IO.Stream stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(ConsoleApplication1.TestXMLFile.xml);
I tried the namespace ConsoleApplication1.TestXMLFile.xml and CSharpUtilityBelt.TestXMLFile.xml. Eitehr way I get the error "The type or namespace name 'TestXMLFile' does not exist in the namespace 'ConsoleApplication1' (are you missing an assembly reference?)". I do not know what to do next.