Ссылка на правильную dll System.Windows.Interactivity из приложения Prism
У меня есть приложение WPF Prism, которое я создаю. Приложение подходит к тому моменту, когда я хочу добавить EventTriggers в элементы управления, чтобы я мог вызывать команды в базовой модели представления. Тем не менее, я не могу ссылаться на правильные библиотеки DLL, чтобы запустить проект. В настоящее время я ссылаюсь на Microsoft.Expression.Interactions
и System.Windows.Interactivity
из каталога C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries
.
Когда я запускаю модуль, я получаю эту ошибку:
Не удалось загрузить файл или сборку 'System.Windows.Interactivity,
PublicKeyToken = 31bf3856ad364e35 'или одна из его зависимостей.
Система не может найти указанный файл.
Я проверил блок System.Windows.Interactivity
в рефлекторе и увидел, что он ссылается:
- mscorlib
- PresentationCore
- PresentationFramework
- Система
- System.Core
- System.Xaml
- WindowsBase
Все ссылки указывают на рамки 4.0. Я ссылался на каждую из вкладки ссылок .NET, убедившись, что каждая из них является версией 4.0. Все эти ссылки загружаются из каталога C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0
.
Есть ли другая загрузка, которая мне нужна для сборки System.Windows.Interactivity
и Microsoft.Expression.Interactions
для работы в моей среде?
Ответы
Ответ 1
По какой-то причине я все еще не могу понять, Prism включает в себя собственную версию сборки Blend SDK. Поэтому вам следует ссылаться на файлы Microsoft.Expression.Interactions.dll и System.Windows.Interactivity.dll из папки Lib\Desktop дистрибутива Prism (при условии, что вы используете Prism v4), а не из установки Blend SDK.
Ответ 2
Для людей, приземляющихся на этой странице, испытывающих эту проблему, но где указанное выше решение не работает, вы можете взглянуть на: Ошибка ссылки на сборку Prism: System.Windows.Interactivity