Я использую ReSharper 8.2.3 Full Edition с Visual Studio Ultimate 2013 и .NET 4.5.
Предыстория заключается в том, что у меня есть решение C # WPF с большим количеством проектов. Чтобы упростить описание здесь, у меня есть следующие проекты:
Проект 1: библиотека с ресурсами пользовательского интерфейса (стили, шрифты и т. д.), включая словарь ресурсов с именем ResourceLibrary.xaml.
Проект 2: основной исполняемый файл с некоторыми пользовательскими элементами управления/представлениями WPF и файлом app.xaml. Пользовательские элементы управления WPF НЕ ссылаются напрямую на ResourceLibrary.xaml в проекте 1. IntelliSense работает нормально, а ReSharper НЕ генерирует никаких предупреждений (синие волнистые линии).
Проект 3: библиотека с некоторыми пользовательскими элементами управления/представлениями WPF. Все эти пользовательские элементы управления относятся к ResourceLibrary.xaml:
<UserControl.Resources>
<ResourceDictionary Source="/<my_resource_namespace>;component/ResourceLibrary.xaml" />
</UserControl.Resources>
IntelliSense работает нормально, а ReSharper НЕ генерирует никаких предупреждений (синие волнистые линии).
Решение строится нормально, IntelliSense работает (находит статические ресурсы в ResourceLibrary.xaml), а ReSharper не выдает никаких предупреждений.
Однако если указанные выше строки удалить, IntelliSense не работает и ReSharper выдает предупреждение «Ресурс XXX не найден». Обратите внимание, что это НЕ относится к файлам XAML в проекте 2, который также использует ресурсы в библиотеке ресурсов. Решение строится нормально.
Я не хочу включать библиотеку ресурсов в каждый файл XAML из соображений производительности, но я хочу, чтобы ReSharper выдавал мне соответствующие предупреждения. Есть ли решение этой проблемы?
Я знаю, что могу отключить предупреждения «Ресурс XXX не найден» в ReSharper, но это помешает мне обнаружить реальные проблемы с ресурсами.
ResourceDictionary
вMergedDictionary
вApp.xaml
ресурсах, а не в каждом файле XAML. - person user2250152   schedule 12.01.2015