C# Visual Studio 2022 Properties.Resources бинарные файлы хранятся в ресурсах как строки
Столкнулся с следующей проблемой. В VS 2022 на C# добавляю в ресурсы проекта бинарный файл через свойства проекта -> ресурсы, а при обращении к этому ресурсу через Properties.Resources.имя_бинарного_ресурса - получаю строку!
Раньше такой проблемы не было, добавил бинарник и на выходе бинарник.
Что я упустил? Что за нововведения? И как это победить?
Пытался получить массив через Encoding, но ХЗ в какой там кодировке студия кладет бинарник в файл ресурсов, все доступные кодировки перепробовал, на выходе всегда битый бинарник.
Плиз ХЕЛП =(
Ответы (2 шт):
Проверить очень просто. Откройте файл "Properties.Resources.Designer.cs" и посмотрите, как объявлено свойство libsamplerate. Должно быть так:
internal static byte[] libsamplerate{
get {
object obj = ResourceManager.GetObject("libsamplerate", resourceCulture);
return ((byte[])(obj));
}
}
Если вы увидели это, то с ресурсом всё нормально, а ошибка у вас в месте использования ресурса. Если увидите что-то другое, то можно исправить.
В общем думаю что проблема в самой студии и поможет только переустановка, чего крайне лень =). Решение, как обычно - костыль! При выборе из списка типов данных [String] [Image] [Icon] [Audio] [Video] [File] выбрал, к примеру [Audio] и переименовал exe-шник в mp3, а затем добавил в ресурсы и "О, Чудо!" теперь я получаю бинарник который на выходе работает =))! УРАА! По итогу мне тогда вообще не понятна градация всех этих [Image] [Icon] [Audio] [Video] [File]. По большому счету достаточно [String] и [File], а разработчик уже сам разберется что он там на добавлял в ресурсы.
Всем спасибо ;)