从 .NET Core 中的类库中加载资源

Kar*_*sen 2 c# asp.net-core

我有一个类库,它有一个从父项目调用的方法。我希望类库在调用方法时加载嵌入的资源。

示例:控制台应用程序有一个名为 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,但这是从父应用程序,而不是来自类库本身。

Kar*_*sen 5

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)