В Visual Studio, когда я связал файл из одного проекта с другим, я получаю следующую ошибку при попытке загрузить связанный ресурс. Это происходит только тогда, когда связанный файл находится в папке (ах).
Ошибка:
Message = "'pack: // application: ,,, / projectName; component / ResourceDictionary .xaml" Значение не может быть присвоено свойству' Source 'объекта' System.Windows.SharedResourceDictionary '.
Пример:
Project1.Resources
|
|--> MergedResourceDictionary.xaml
|--> ProjectResourceDictionary.xaml
|--> Folder
|
|--> SharedResourceDictionary.xaml
Project2.Resources
|
|--> MergedResourceDictionary.xaml
|--> ProjectResourceDictionary.xaml
|--> Folder
|
|--> SharedResourceDictionary.xaml **LINKED**
Если в MergedResourceDictionary.xaml мы объединили эти словари, то «SharedResourceDictionary.xaml в Project2 не будет найден. Однако, если SharedResourceDictionary.xaml связан с корнем проекта, тогда ресурс будет найден во время выполнения.
** ПРИМЕЧАНИЕ. В «obj / debug» проекта2 все связанные ресурсы находятся в корневом каталоге, тогда как ресурсы проекта1 остаются в структуре папок, назначенной проекту.
Шаги для воссоздания
Это происходит во время выполнения. Шаги следующие (с использованием файлов, перечисленных в оригинальном сообщении).
1) Создайте SharedResourceDictionary в Project1, в «Папке»
2) Создайте «Папку» в Project2, затем добавьте «как ссылку» SharedResourceDictionary в папке
3) Сборка и запуск приложения
4) Приложение не сможет найти SharedResourceDictionary.xaml, поскольку оно находится в папке. Удаление файла из структуры папок будет нормально работать как связанный файл.
Я ценю любую помощь,
Крис