mvvmlight icon indicating copy to clipboard operation
mvvmlight copied to clipboard

Extract System.Windows.Interactivity.dll to its own nuget package

Open Kirlu opened this issue 6 years ago • 3 comments

System.Windows.Interactivity should not be packed with MvvmLightLibs, it should be extracted as a separate NuGet package which MvvmLightLibs depends upon.

We see different locations of System.Windows.Interactivity being referenced in our solution. If System.Windows.Interactivity was extracted to its own NuGet package it would be possible to use the same reference across all projects.

Kirlu avatar Feb 21 '18 09:02 Kirlu

We have exactly the same issue. One result of this problem is that Visual Studio then tries recompile several projects since this DLL might be overridden in the output directory from different locations and therefore Visual Studio interprets this as changed input and runs MSBuild when pressing F5 (start project) without having any source file changes.

czdietrich avatar Feb 26 '19 12:02 czdietrich

Hi, it's not a bad idea but I don't know this DLL. Maybe you can contact the Windows XAML team with this suggestion.

lbugnion avatar Feb 26 '19 12:02 lbugnion

As a quick search on the web, there seem to be several NuGets containing this DLL, but none of those NuGet packages is directly from Microsoft. I checked the most popular ones. You could either use https://www.nuget.org/packages/Expression.Blend.Sdk/ which contains System.Window.Interactivity.dll or https://www.nuget.org/packages/Expression.Interaction/ which contains System.Window.Interactivity.dll and Microsoft.Expression.Interactions.dll which is pretty often used together in WPF projects. (all DLLs in version 3.0.40218.0)

Alternative:

As of December 2018 Microsoft open sourced the code on GitHub. The namespaces have changed, so including this would be a breaking change, but it seems to be the 'future' of those two DLLs. There is one project for UWP and one for WPF.

GitHub: https://github.com/Microsoft/XamlBehaviorsWpf https://github.com/Microsoft/XamlBehaviors

Nugets: Microsoft.Xaml.Behaviors.*

czdietrich avatar Feb 26 '19 13:02 czdietrich