Meu projeto está faltando System.Windows.Interactivity
. O Google diz que eu tenho que instalar o Expression Blend, mas no meu outro computador eu tenho essa biblioteca e não tenho o Expression Blend instalado. Portanto, deve haver outra maneira de obter System.Windows.Interactivity
? O que devo fazer? (no momento não tenho outro computador, então não posso simplesmente copiar esta biblioteca :)
107
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
não:xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
como em todos os outros exemplos que vi.Embora esse problema seja antigo, acho que esta é uma notícia relevante / a resposta mais recente: Comportamentos XAML de código-fonte aberto da Microsoft e postou um blog sobre como atualizar para esta versão: https://devblogs.microsoft.com/dotnet/open -sourcing-xaml-behaviours-for-wpf /
Para economizar um clique, estas são as principais etapas para migrar:
fonte
Há um novo pacote NuGet que contém o System.Windows.Interactivity.dll compatível com:
Para instalar o Expression.Blend.Sdk, execute o seguinte comando no console do gerenciador de pacotes
http://www.nuget.org/packages/Expression.Blend.Sdk/
fonte
System.Windows.Interactivity
. Para resolver, veja minha resposta acima.A maneira mais fácil pode ser obtê-lo no NuGet:
http://www.nuget.org/packages/System.Windows.Interactivity.WPF/
fonte
Com o Blend for Visual Studio , que está incluído no Visual Studio a partir da versão 2013, você pode encontrar a DLL na seguinte pasta:
Você terá que adicionar a referência a
System.Windows.Interactivity.dll
você mesmo, a menos que use o Blend for Visual Studio com um projeto existente para adicionar funcionalidade que faz uso do namespace de interatividade. Nesse caso, o Blend adicionará a referência automaticamente.fonte
Às vezes, quando você adiciona uma nova biblioteca, em introduz uma versão conflitante de
System.Windows.Interactivity.dll
.Por exemplo, o pacote NuGet
MVVM light
pode exigir a v4.2 deSystem.Windows.Interactivity.dll
, mas o pacote NuGetRx-XAML
pode exigir a v4.5 deSystem.Windows.Interactivity.dll
. Isso impedirá que o projeto funcione, porque independentemente da versão queSystem.Windows.Interactivity.dll
você incluir, uma das bibliotecas se recusará a compilar.Para corrigir, adicione um Redirecionamento de vinculação de montagem editando seu
app.config
para se parecer com isto:Não se preocupe em alterar o
PublicKeyToken
, isso é constante em todas as versões, pois depende do nome do .dll, não da versão.Certifique-se de combinar o
newVersion
em seuappConfig
com a versão real para a qual você acabou apontando:fonte
A solução alternativa é modificar sua instalação atual do Visual Studio no Visual Studio Installer
Win+ R
%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vs_installer.exe
adicionando o
Blend for Visual Studio SDK for .NET
'Componente individual' em 'SDKs, bibliotecas e estruturas':após adicionar este componente
System.Windows.Interactivity
deve aparecer em seu local regularAdd Reference/Assemblies/Extensions
.Parece que isso só funcionaria para VS2017 ou anterior. Para versões posteriores, por favor, consulte outras respostas.
fonte
Está no MVVM Light, baixe-o na página de download do MVVM Light .
fonte
Install-Package MvvmLightLibs -Version 5.3.0
Eu consegui por meio do Pacote NuGet Prism.WPF. (inclui Windows.System.Interactivity)
fonte
Se você estiver trabalhando com o MVVM Light, deverá usar o
System.Windows.Interactivity Version 4.0
(NuGet .dll não funcionará) que pode ser encontrado em:PathToProjectFolder\Software\packages\MvvmLightLibs.5.4.1.1\lib\net45\System.Windows.Interactivity.dll
Basta adicionar este .dll manualmente como referência e ele deve ficar bem.
fonte