Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to access resource file in C#?

Tags:

c#

i have add .zip file to my resource how can i access that zip file ?

like image 894
RAGOpoR Avatar asked Oct 19 '10 02:10

RAGOpoR


People also ask

How do you open a resource?

Press the Ctrl + Alt + Del keys at the same time and select Start Task Manager on the screen that appears. In the Task Manager, click the Performance tab, then click the Resource Monitor button or Open Resource Monitor link, depending on your version of Windows.

What is the resource file?

A resource file is a text file with the extension . rc. The file can use single-byte, double-byte, or Unicode characters. The syntax and semantics for the RC preprocessor are similar to those of the Microsoft C/C++ compiler.


2 Answers

Add your resource to the project in the project properties...(which you did)

Then it's simple...

var zipFile = MyNamespace.Properties.Resources.My_Zip_File; 
like image 146
Gabe Avatar answered Oct 05 '22 13:10

Gabe


Visual Studio Community 2015 answer:

  1. In Project->Properties->Resources->Files, add My_Zip_File.zip, accessed by double-clicking Properties in Solution Explorer.
  2. Locate Solution Explorer->Resources->My_Zip_File.zip, click this item and look at Properties. Build Action="None" and Copy to Output Directory="Copy always".

The file is now accessible programatically. The path and file is part of the assembly when debugging and when the progam is installed as a final publish. It compares favorably against using absolute path. Example C# header:

using System.IO; using System.Reflection; 

Example C# code:

String strAppPath = Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName); String strFilePath = Path.Combine(strAppPath, "Resources"); String strFullFilename = Path.Combine(strFilePath, "My_Zip_File.zip"); 

` For example, we can read the file as Stream and we can also open the file using strFullFileName.

Source of reference

like image 42
user3674642 Avatar answered Oct 05 '22 11:10

user3674642