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