如何在类库项目中引用xml文件

本文关键字:引用 xml 文件 项目 类库 | 更新日期: 2023-09-27 17:57:29

我有一个类库项目。在其中一个类中,我需要访问一个XML文件。如何在类中引用该文件的路径?该文件位于同一项目的一个文件夹中。

如何在类库项目中引用xml文件

如果指定要编译到程序集中的Xml文件,则可以在运行时使用反射读取它。

Assembly asm = Assembly.GetExecutingAssembly();
XmlDocument doc = new XmlDocument();
XmlTextReader reader = new XmlTextReader(asm.GetManifestResourceStream("MyNamespace.MyXmlFile.xml"));
doc.Load(reader);

更新

由于X509Certificate2构造函数只接受证书文件的文件路径或字节数组,因此您可能希望使用证书文件的可配置路径,而不是将其嵌入到程序集中。

使用@Filburt提供的链接:

首先将XML文件的BuildAction更改为Embedded resource。它将与程序集的根命名空间和文件名一起添加到程序集中:例如,如果项目的根命名空间是MyNamespace,则资源可能命名为MyNamespace.MyXmlFile.xml

   Assembly _assembly;
   StreamReader _textStreamReader;
   _assembly = Assembly.GetExecutingAssembly();
   _textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("MyNameSpace.MyXmlFile.xml"));

您可以使用任意数量的类,这些类将流作为构造函数参数。