.NET:打开文件,嵌入在资源文件中

Kot*_*tan 6 .net c#

如何打开嵌入在资源文件中的文件,如硬盘上的文件(带有绝对路径)?

Dar*_*rov 12

假设您已将test.xml文件嵌入到程序集中.您可以使用GetManifestResourceStream方法获取指向内容的流:

class Program
{
    static void Main()
    {
        var assembly = Assembly.GetExecutingAssembly();
        using (var stream = assembly.GetManifestResourceStream("ProjectName.test.xml"))
        using (var reader = new StreamReader(stream))
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这样,文件的内容就被读入内存.您也可以将其存储到硬盘,然后通过绝对路径访问,但这可能没有必要,因为您已经拥有该文件的内容.

  • 您需要在文件名之前包含项目的默认命名空间,而不是项目名称. (2认同)