Uri типа “pack” в Wpf

109
14 февраля 2021, 03:20

У меня есть консольное приложение с подключённой сборкой PresentationCore(тесты делаются здесь - так проще; проверял в оконном приложении и результаты одинаковы) и с вот таким классом Program:

using System;
using System.Net;
using System.IO.Packaging;
namespace MyApp
{
    using static WebRequest;
    class Program
    {
        static void Main()
        {
            RegisterPrefix("pack", new PackWebRequestFactory()); // префикс регистрируется (можно увидеть в режиме отладки)
            var uri = new Uri("pack://application:,,,/Resource.resx");
            using (var client = new WebClient())
            using (var stream = client.OpenRead(uri)) // ошибка - не удалось найти файл resource.resx
            {
                // Using stream...
            }
        }
    }
}

Файл Resource.resx существует и путь совпадает (если заменить .resx на .xaml и использовать ResourceDictionary, то файл находит, что странно (вылетит ошибка из-за "неугодного" содержания, но это не важно - файл находит)). Мне это нужно для одной библиотеки, там есть немного "low-левела", связанного с ресурсами и uri. Я копался в рефлекторе (класс ResourceDictionary) и всё вроде тоже самое, только с .xaml файлами. Как решить эту проблему?

Answer 1

Resx должен иметь тип embedded resource. Для этого заходим в обозреватель решения, находим ваш ресурс, свойства, делать при сборке - встроенный ресурс.

READ ALSO
Проблема публикации файлов по FTP (VS2019)

Проблема публикации файлов по FTP (VS2019)

Публикую Web проект (ASPNET Core 2

117
Как задать координаты кнопки WPF? (XAML)

Как задать координаты кнопки WPF? (XAML)

Мне нужно создать кнопку, делаю так:

232
Помогите разобраться с If [закрыт]

Помогите разобраться с If [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

105
Динамическое добавление элементов WindowsForms C#

Динамическое добавление элементов WindowsForms C#

Как добавить динамически сразу несколько radioButton на форму по нажатию кнопки? Вот что есть, но добавляется только по одному на каждый tabPage

89