Мой проект отсутствует System.Windows.Interactivity
. Google говорит, что мне нужно установить Expression Blend, но на другом моем компьютере у меня есть эта библиотека, а Expression Blend не установлен. Значит, должен быть другой способ получить System.Windows.Interactivity
? Что я должен делать? (сейчас у меня нет другого компьютера, поэтому я не могу просто скопировать эту библиотеку :)
108
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
не:xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
как в любом другом примере, который я видел.Хотя эта проблема довольно старая, я думаю, что это актуальная новость / самый последний ответ: Microsoft с открытым исходным кодом XAML Behaviors и опубликовал сообщение в блоге, как обновиться до этой версии: https://devblogs.microsoft.com/dotnet/open -sourcing-xaml-поведения-для-wpf /
Чтобы сэкономить вам клик, вот основные шаги по миграции:
источник
Существует новый пакет NuGet, содержащий System.Windows.Interactivity.dll, совместимый с:
Чтобы установить Expression.Blend.Sdk, выполните следующую команду в консоли диспетчера пакетов
http://www.nuget.org/packages/Expression.Blend.Sdk/
источник
System.Windows.Interactivity
. Чтобы решить эту проблему, см. Мой ответ выше.Самый простой способ - получить его из NuGet:
http://www.nuget.org/packages/System.Windows.Interactivity.WPF/
источник
В Blend для Visual Studio , который включен в Visual Studio, начиная с версии 2013, вы можете найти DLL в следующей папке:
Однако вам придется добавить ссылку на
System.Windows.Interactivity.dll
себя, если вы не используете Blend для Visual Studio с существующим проектом, чтобы добавить функциональность, которая использует пространство имен Interactivity. В этом случае Blend автоматически добавит ссылку.источник
Иногда, когда вы добавляете новую библиотеку, появляется конфликтующая версия
System.Windows.Interactivity.dll
.Например, для пакета NuGet
MVVM light
может потребоваться v4.2 ofSystem.Windows.Interactivity.dll
, но для пакета NuGetRx-XAML
может потребоваться v4.5 ofSystem.Windows.Interactivity.dll
. Это предотвратит работу проекта, потому что какую бы версиюSystem.Windows.Interactivity.dll
вы ни включили, одна из библиотек откажется компилироваться.Чтобы исправить это, добавьте перенаправление привязки сборки, отредактировав свой,
app.config
чтобы он выглядел примерно так:Не беспокойтесь об изменении
PublicKeyToken
, это константа для всех версий, поскольку это зависит от имени .dll, а не от версии.Убедитесь , что вы подходите
newVersion
в вашемappConfig
фактическую версию , что вы в конечном итоге направлены на:источник
Альтернативным решением является изменение текущей установки Visual Studio в установщике Visual Studio
Win+ R
%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vs_installer.exe
добавление
Blend for Visual Studio SDK for .NET
«Отдельный компонент» в «SDK, библиотеки и фреймворки»:после добавления этот компонент
System.Windows.Interactivity
должен появиться на своем обычном местеAdd Reference/Assemblies/Extensions
.Похоже, это будет работать только для VS2017 или ранее. Для более поздних версий обратитесь к другим ответам.
источник
Он находится в MVVM Light, его можно получить на странице загрузки MVVM Light .
источник
Install-Package MvvmLightLibs -Version 5.3.0
Получил через NuGet-пакет Prism.WPF. (включает Windows.System.Interactivity)
источник
Если вы работаете с MVVM Light, вам необходимо использовать
System.Windows.Interactivity Version 4.0
(NuGet .dll не работает), который вы можете найти в разделе:PathToProjectFolder\Software\packages\MvvmLightLibs.5.4.1.1\lib\net45\System.Windows.Interactivity.dll
Просто добавьте эту .dll вручную как ссылку, и все будет в порядке.
источник