我有一个类库,它有一个从父项目调用的方法。我希望类库在调用方法时加载嵌入的资源。
示例:控制台应用程序有一个名为 TestClass 的类库。它有一个名为 test.txt 的嵌入式资源。当我在 TestClass 上调用一个方法时,我想读取资源 test.txt。
Console App
| TestClass.dll
| test.txt
Run Code Online (Sandbox Code Playgroud)
我试过这个代码:
var assembly = Assembly.GetEntryAssembly();
var stream = assembly.GetManifestResourceStream("TestClass.test.txt");
Run Code Online (Sandbox Code Playgroud)
但这看起来是在控制台应用程序中,而不是在类库中。
我看了这个例子:http : //keithelder.net/2007/12/14/how-to-load-an-embedded-resource-from-a-dll enter link description here,但这是从父应用程序,而不是来自类库本身。
GetEntryAssembly()
下面的代码没有使用,而是将类库作为程序集。
public string GetResource()
{
var assembly = typeof(TestClass.Class1).GetTypeInfo().Assembly;
// This shows the available items.
string[] resources = assembly.GetManifestResourceNames();
var stream = assembly.GetManifestResourceStream("TestClass.test.txt");
using (var reader = new StreamReader(stream))
{
return reader.ReadToEnd();
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3118 次 |
最近记录: |