В чем разница между ресурсом и встроенным ресурсом в приложении C #? - PullRequest
75 голосов
/ 20 декабря 2009

Когда я должен использовать один или другой?

Я бы хотел, чтобы все файлы, которые я использую в своем приложении (изображения, звук, XML-файл и т. Д.), Находились внутри файла .exe, поэтому я не буду развертывать его с кучей папок и файлов.

Спасибо за информацию.

Ответы [ 4 ]

70 голосов
/ 20 декабря 2009

Действия сборки «Ресурс» и «Контент» предназначены для доступа к ресурсам WPF с помощью Uris. Однако «Встроенный ресурс» предназначен для предыдущих технологий. Однако оба параметра включают ресурс в сборку, а параметр «Ресурс» будет использоваться для WPF.

MSDN дает полное объяснение здесь .

7 голосов
/ 20 декабря 2009

Ресурс WPF (действие сборки = Ресурс ) использует встроенные ресурсы, поддерживаемые базовой платформой .NET, но добавляет поддержку для доступа к встроенному ресурсу через pack URI . От MSDN :

Файлы ресурсов WPF не совпадают с встроенный или связанный тип ресурсы, которые можно настроить с помощью основная поддержка .NET Framework для сборочные ресурсы. Пока ресурс WPF файлы используют ядро ​​.NET Поддержка встроенных ресурсов фреймворка, возможность доступа к ресурсу WPF файлы с использованием пакетов URI проще, чем используя пространства имен.

3 голосов
/ 20 декабря 2009

Как сообщает MSDN,

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

Вы не можете редактировать встроенные ресурсы непосредственно. Если вы пытаетесь редактировать встроенный ресурс, вы получите сообщение с просьбой преобразовать элемент к связанному ресурсу для того, чтобы отредактируйте это. Преобразование рекомендуется, но необязательный. Вы должны экспортировать их, сделать ваши модификации во внешнем программа, а затем импортировать их обратно в ваш проект.

0 голосов
/ 12 февраля 2013

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

Надеюсь, это поможет в будущем.

...