C#文件类的相对路径

时间:2015-02-12 15:08:51

标签: c# class xslt namespaces

我有一个C#类文件,它将打包为类库。在类库项目中,我有一个名为XSL的文件夹,在这个文件夹中我有一些XSL文件。我的C#类进行XSL验证是在不同的命名空间中。如何从不同的命名空间引用XSL文件夹,在该命名空间中我有一个想要通过使用XSL文件进行XSL验证的类?

1 个答案:

答案 0 :(得分:1)

如果文件嵌入在程序集中,您可以使用Assembly.GetManifestResourceStream(String)方法获取其内容(Stream)。

所以:

Assembly a = Assembly.GetExecutingAssembly(); //get access to the current assembly.
Stream s = a.GetManifestResourceStream("xslt.file1");
//process stream s

如果它是第三方程序集(类库),您可以通过从该路径创建Assembly实例来加载它:

Assembly a = Assembly.LoadFrom("file.dll");

这当然只有在具有可以解释的版本的.NET程序集时才有效。所以不要用它来加载由C编译器生成的.exe

每个资源都以点分隔的路径存储,例如"MyCompany.MyProduct.MyDirectory.MyFile.xslt"