Нотация пакета в WPF - PullRequest
       9

Нотация пакета в WPF

1 голос
/ 26 августа 2009

У меня вопрос по поводу обозначения пачки.

Я пытаюсь получить доступ к файлу изображения png на странице XAML из другой сборки ресурса.

Допустим, ресурсная сборка (которая находится за пределами локальной сборки, в которой находится мой файл xaml), равна ResourceAssembly.Common.Resources и что мое изображение в ResourceAssembly.Common.Resources/Images/image.png.

Моя запись пакета выглядит следующим образом:

<Image Source="pack://application:,,,/ResourceAssembly.Common.Resources;component/Images/image.png" />

Теперь я проверил это и проверил еще раз, проверил библиотеки MSDN, проверил блоги и все, и, насколько я знаю, это правильно. Я не уверен, почему мое изображение не отображается или в чем проблема.

Я получаю ошибку: "Error 633 Could not load file or assembly 'ResourceAssembly.Common.Resources, Culture=neutral' or one of its dependencies. The system cannot find the file specified."

Я предполагаю, что мне не хватает какого-то простого ключевого слова или некоторой простой синтаксической ошибки, или чего-то подобного, как это всегда было моей проблемой, но любая помощь будет неоценимой.

Спасибо! Ануй

1 Ответ

5 голосов
/ 26 августа 2009

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

  1. Содержит ли AssemblyInfo.cs для вашей сборки ресурсов точно: [assembly: AssemblyTitle("ResourceAssembly.Common.Resources")]? (Просто убедитесь, что ResourceAssembly.Common.Resources - это фактическое имя сборки, а не имя проекта или пространство имен.)

  2. Имеет ли клиентский проект ссылку на ResourceAssembly.Common.Resources сборку или проект?

  3. Есть ли вероятность того, что копия ResourceAssembly.Common.Resources установлена ​​в GAC? (Если он существует локально и в GAC, это может вызвать конфликт коротких имен.)

  4. Является ли папка «Изображения» прямым потомком проекта ResourceAssembly.Common.Resources? (Звучит так, как есть, но просто проверяю.)

  5. Установлено ли свойство Build Action для image.png на Resource? (Это должно быть по умолчанию, но вы никогда не знаете.)

  6. Относится ли ResourceAssembly.Common.Resources к каким-либо сборкам, которые не включены в ваш клиентский проект? (URI пакета в XAML не разрешаются во время компиляции IIRC, что означает, что переходные зависимости не будут внесены в проект.)

Если это не одна из тех вещей, тогда это вне меня. :)

...