C# 将文件添加到项目中,该文件将添加到exe中,并且在运行时可访问

C# 将文件添加到项目中,该文件将添加到exe中,并且在运行时可访问,c#,C#,我有一个文件(xml),可以在我的代码中访问,我希望它是如何添加到可执行文件中的,这样我的实用程序就可以在运行时访问它,但仍然是一个文件。有办法做到这一点吗?(C#) 谢谢 查看(谷歌搜索的第一个结果,但乍一看效果不错) 实际上,它的优势在于告诉您如何将某个东西变成嵌入式资源。在这两者之间,你应该能够解决你的问题。看看(谷歌搜索的第一个结果,但乍一看很好) 实际上,它的优势在于告诉您如何将某个东西变成嵌入式资源。在这两者之间,您应该能够解决您的问题。将其添加为嵌入式资源(将文件的构建操作设置

我有一个文件(xml),可以在我的代码中访问,我希望它是如何添加到可执行文件中的,这样我的实用程序就可以在运行时访问它,但仍然是一个文件。有办法做到这一点吗?(C#) 谢谢

查看(谷歌搜索的第一个结果,但乍一看效果不错)


实际上,它的优势在于告诉您如何将某个东西变成嵌入式资源。在这两者之间,你应该能够解决你的问题。

看看(谷歌搜索的第一个结果,但乍一看很好)



实际上,它的优势在于告诉您如何将某个东西变成嵌入式资源。在这两者之间,您应该能够解决您的问题。

将其添加为嵌入式资源(将文件的构建操作设置为“嵌入式资源”),并使用访问它


请注意,访问资源流时,名称区分大小写。

将其添加为嵌入式资源(将文件的生成操作设置为“嵌入式资源”)并使用访问它


请注意,访问资源流时,名称区分大小写。

在属性窗口中,将属性生成操作设置为嵌入式资源

之后,您可以按如下方式访问文件:

Assembly assbl = Assembly.GetAssembly(this.GetType());
using(Stream s = assbl.GetManifestResourceStream("projectnamespace.embeddedfilename.xml"))
{
    XmlDocument doc = new XmlDocument();
    using (StreamReader reader = new StreamReader(s))
    {
        doc.LoadXml(reader.ReadToEnd());
        reader.Close();
    }
}

在GetManifestResourceStream中,您需要指定项目中文件的“路径”。

在属性窗口中,将属性生成操作设置为嵌入式资源

之后,您可以按如下方式访问文件:

Assembly assbl = Assembly.GetAssembly(this.GetType());
using(Stream s = assbl.GetManifestResourceStream("projectnamespace.embeddedfilename.xml"))
{
    XmlDocument doc = new XmlDocument();
    using (StreamReader reader = new StreamReader(s))
    {
        doc.LoadXml(reader.ReadToEnd());
        reader.Close();
    }
}
在GetManifestResourceStream中,需要指定项目中文件的“路径”