Яка різниця між ресурсом та вбудованим ресурсом у програмі C #?


89

Коли слід використовувати той чи інший?

Я хотів би, щоб усі файли, які я використовую у своєму додатку (зображення, звук, файл xml тощо), знаходились усередині файлу .exe, тому я не розгортаю їх із купою папок і файлів.

Дякую за інформацію.

Відповіді:


82

Дії збірки “Resource” та “Content” - це доступ до ресурсів WPF за допомогою Uris. Однак “Вбудований ресурс” стосується попередніх технологій. Однак обидва варіанти вбудовують ресурс у збірку, але варіант “Ресурс”, який буде використовуватися для WPF.

MSDN надає тут повне пояснення .


Ти маєш рацію! Я встановив для всіх зображень у своєму проекті WPF ресурс і відновив джерело. Тепер, коли я переходжу до папки "Налагодження", я ніде не можу знайти файли, вони повинні бути частиною .exe, саме так, як я цього хочу. Не можу вам подякувати! :)
Серхіо Тапія

1
Посилання MSDN порушено. Додаткове пояснення тут було б дуже приємним.
Майкл Харріс,

7

Ресурс WPF (дія побудови = Ресурс ) використовує вбудовані ресурси, як це підтримується базовою платформою .NET, але додає підтримку доступу до вбудованого ресурсу через URI пакета . З MSDN :

Файли ресурсів WPF не є однаковими із вбудованими або пов'язаними типами ресурсів, які можна налаштувати за допомогою базової підтримки .NET Framework для ресурсів збірки. Хоча файли ресурсів WPF використовують основну підтримку вбудованих ресурсів .NET Framework, можливість отримати доступ до файлів ресурсів WPF за допомогою URI пакетів простіше, ніж використання просторів імен.


2

Як повідомляє MSDN,

Вбудовані ресурси - найкращий вибір, якщо вам доводиться спільно використовувати файли ресурсів додатків (.resx) між кількома проектами. Наприклад, якщо у вас є загальний файл ресурсів, який містить логотипи вашої компанії, інформацію про торговельну марку тощо, використання вбудованих ресурсів означає, що вам потрібно скопіювати лише файл .resx, а не пов'язані файли даних ресурсів.

Ви не можете редагувати вбудовані ресурси безпосередньо. Якщо ви спробуєте відредагувати вбудований ресурс, ви отримаєте повідомлення з проханням перетворити елемент у зв’язаний ресурс для редагування. Перетворення рекомендується, але необов’язкове. Ви повинні експортувати їх, внести зміни у зовнішню програму, а потім імпортувати назад у свій проект.


4
Це не відповідає на запитання: яка різниця між вбудованим ресурсом та ресурсом? Ви відповідаєте лише на адреси Вбудованих ресурсів.
Грокіс

3
У тексті запитання сказано: "Коли слід користуватися тим чи іншим?"; Здається, я відповів на це. Питань насправді два.
kiamlaluno

1

Дякую за всі звіти, які допомогли мені більш точно знайти, в чому проблема: Для мене саме зображення, що використовуються як піктограма проекту на панелі завдань, були побудовані як ресурси і повинні були бути побудовані як вміст. Всі інші зображення можна створити як ресурси, не проблема.

Сподіваюся, це допоможе в майбутньому.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.