来自类库的Application.GetResourceStream

时间:2016-02-19 23:16:54

标签: c# resources

我正在尝试从类库中加载资源。实际上,这并不完全正确。我正在尝试实现一种从我的代码中的任何引用项目加载资源的好方法。

要做到这一点,我正在开发一个ResourceHelper类。到目前为止。

public class ResourceHelper : IResourceHelper
{
    public string ReadTextFileFromResource(string resourceFileName)
    {
        StreamResourceInfo streamResourceInfo = Application.GetResourceStream(new Uri(resourceFileName, UriKind.Relative));
        StreamReader streamReader = new StreamReader(streamResourceInfo.Stream);
        return streamReader.ReadToEnd();
    }
}

当资源在主应用程序项目中时,此代码非常有用。 但是,如果我想在主应用程序引用的类库中拥有资源,则无法找到该资源。

以下是我如何调用上述类的典型示例。

string sqlCommandText = _resourceHelper.ReadTextFileFromResource("Resources\\InternalSqlScripts\\DatabasePatchingTablesPreparation\\SelectPatchingTableNames.sql");

有没有办法让这个引用成为正确的类库? 我尝试了一个包:// uri,但是我只是设法让它抛出异常。

0 个答案:

没有答案