Application.GetResourceStream из библиотеки классовC#

Место общения программистов C#
Ответить
Anonymous
 Application.GetResourceStream из библиотеки классов

Сообщение Anonymous »

Я пытаюсь загрузить ресурсы из библиотеки классов. На самом деле это не совсем так. Я пытаюсь реализовать хороший метод загрузки ресурсов из любого проекта, на который есть ссылка в моем коде.

Для этого я работаю над классом 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");
Есть ли способ сделать эту ссылку правильной библиотекой классов?
Я пробовал использовать Pack:// uri, однако мне удалось получить только это чтобы создать исключение.

Подробнее здесь: https://stackoverflow.com/questions/355 ... ss-library
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»