Проблема с загрузкой ресурсов из указанной сборки в Expression Blend - PullRequest
4 голосов
/ 11 февраля 2010

У меня проблема с загрузкой ресурсов для UserControl из указанной сборки в Expression Blend

Вот соответствующий код:

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/Referenced.Assembly;component/Resources/ResourceDictionary.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</UserControl.Resources>

Я также попробовал этот вариант URI:

<ResourceDictionary Source="/Referenced.Assembly;Component/Resources/ResourceDictionary.xaml"/>

В Visual Studio 2008 SP1 (и код, и конструктор) все работает нормально, и приложение использует указанные ресурсы. При загрузке решения и открытии файла UserControl XAML в Expression Blend 3 появляется сообщение «Указанный файл не найден» (или что-то подобное, у меня есть локализованная версия .NET Framework), никакой другой информации нет, исключений не выдается при отладке процесса Blend в Visual Студия.

Есть идеи?

1 Ответ

2 голосов
/ 11 февраля 2010

ОК, после некоторого копания я обнаружил проблему. Если у вас когда-нибудь возникнет эта проблема, не забудьте добавить этот код в ваш файл .csproj:

<ProjectTypeGuids>
  {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};
  {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
</ProjectTypeGuids>

Еще более простым решением этой проблемы является создание нового проекта и выбор шаблона Библиотека пользовательских элементов управления WPF вместо Библиотека классов .

...