Is there a way to get a string path reference to an embedded resource file?

You can use Assembly.GetManifestResourceStream(resource_name_of_the_file) to access the file's stream, write it to TEMP directory and use this path.

For example, if you have a file in your project at the path "Resources\Files\File.txt" and the project's assembly default namespace is "RootNamespace", you can access the file's stream from within this assembly's code with

Assembly.GetExecutingAssembly().GetManifestResourceStream("RootNamespace.Resources.Files.File.txt")

Is there any way to get a string reference to an embedded text file so that it would function as a file path for opening a StreamReader?

No, an embeded resource is not a separate file but embedded into the executable file. However, you can get a stream that you can read from using a StreamReader.

var name = "...";
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(name)) 
  using (var streamReader = new StreamReader(stream)) {
    // Read the embedded file ...
  }

Tags:

C#

.Net