2014-04-25 12 views
6

Ich habe eine WPF-Anwendung .NET 4.0 Targeting Ich bin mit dem Microsoft.Expression.Blend.dllMicrosoft.Expression.Blend in einer WPF-Anwendung Targeting .net 4.0

Jedesmal, wenn ich baue ich mehrere Warnungen erhalten, die aussehen wie folgt aus:

The primary reference "Microsoft.Expression.Blend, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=x86" could not be resolved because it has an indirect dependency on the .NET Framework assembly "Microsoft.Build.Engine, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which has a higher version "12.0.0.0" than the version "4.0.0.0" in the current target framework. 

Oder diese:

The primary reference "Microsoft.Expression.Blend, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=x86" could not be resolved because it has an indirect dependency on the assembly "Microsoft.Expression.DesignHost, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which was built against the ".NETFramework,Version=v4.5" framework. This is a higher version than the currently targeted framework ".NETFramework,Version=v4.0". 

Was kann ich tun, diese Warnungen weggehen zu machen? Ich kann Versionen von beispielsweise Microsoft.Expression.Interactions finden, die auf .net 4.0 zielen, aber nicht mischen.

Hilfe!

+0

Das klingt wie die gleiche Frage wie: http://stackoverflow.com/questions/9394299/indirect-dependency-on-the-net-framework-assembly –

+0

Welche Version von Visual Studio verwenden Sie? –

+0

Meine App zielt auf .NET 4.0 ab. Ich sehe nicht, wie diese Frage hilft oder relevant ist. Es sei denn du sagst, dass ich Blend mit 4.0 nicht verwenden kann? – Julien

Antwort

4

Ich habe Ihr Problem mit einem neuen WPF-Projekt repliziert, das auf .NET 4.0 sowohl unter VS2012 als auch VS2013 abzielt.

Dies ist wahrscheinlich nicht die Antwort, die Sie erhoffen, aber von dem, was ich sehen kann, ist Microsoft.Expression.Blend.dll nicht Teil des Microsoft Expression SDK und ist daher nicht für die Neuverteilung lizenziert. Daher glaube ich nicht, dass das, was Sie zu tun versuchen, von Microsoft unterstützt wird. Es funktioniert jedoch unter .NET 4.5 ...

Das Microsoft Expression SDK für .NET 4.0 befindet sich unter "Programme (x86) \ Microsoft SDKs \ Expression \ Blend.NETFramework \ v4.0". Laut Redist-Readme sind die Dateien unter den Bibliotheken, Vorlagen und "Programme (x86) \ MSBuild \ Microsoft \ Expression \ Blend.NETFramework \ v4.0 \" für die Neuverteilung lizenziert. Die Datei "Microsoft.Expression.Interactions.dll" befindet sich unter dem Ordner "Libraries". Dies bedeutet, dass sie für die Neuverteilung lizenziert ist. Dies erklärt auch, warum sie funktioniert.

Leider befindet sich Microsoft.Expression.Blend.dll in keinem dieser Ordner. Es befindet sich in "Programme (x86) \ Microsoft Visual Studio 12.0 \ Mischung \", was mir anzeigt, dass es Teil von Blend für VS2013 (die Anwendung, nicht das SDK) ist, die in erster Linie auf .NET 4.5 basiert. Da diese DLL Abhängigkeiten von .NET 4.5-Assemblys hat, glaube ich nicht, dass sie jemals funktionieren wird, wenn .NET 4.0 angesprochen wird.

Ich würde vorschlagen, Ihre Verwendung dieser Baugruppe zu überdenken. Sie haben noch nicht erläutert, welche Funktionen Sie verwenden möchten. Da sie jedoch nicht Teil des Express Blend SDK ist, ist es nicht vorgesehen, dass Sie .NET 4.0 verwenden, das auf .NET 4.0 abzielt.