2014-04-25 14 views
6

Mam aplikacji WPF targetting .NET 4.0 Używam Microsoft.Expression.Blend.dllMicrosoft.Expression.Blend w aplikacji WPF targetting .net 4.0

Everytime I budować mam kilka ostrzeżeń, które wyglądają tak:

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. 

Albo to:

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". 

Co mogę zrobić, aby te ostrzeżenia odejść? Mogę znaleźć wersje np. Microsoft.Expression.Interactions, które celują w .net 4.0, ale nie mieszają się.

Pomoc!

+0

Brzmi to samo pytanie jak: http://stackoverflow.com/questions/9394299/indirect-dependency-on-the-net-framework-assembly –

+0

Jaka wersja Visual Studio używasz? –

+0

Moje cele aplikacji .NET 4.0. Nie widzę, w jaki sposób to pytanie pomaga lub jest istotne. Chyba że mówisz, że nie mogę użyć Blend z 4.0? – Julien

Odpowiedz

4

Pozwoliłem replikować twój problem z nowym projektem WPF targetowania. NET 4.0 zarówno pod VS2012 i VS2013.

Prawdopodobnie nie jest to odpowiedź, na którą masz nadzieję, ale z tego, co widzę, Microsoft.Expression.Blend.dll nie wchodzi w skład pakietu SDK Microsoft Expression i dlatego nie jest objęty licencją na redystrybucję. W związku z tym nie sądzę, że to, co próbujesz zrobić, jest obsługiwane przez firmę Microsoft. Może jednak działać pod .NET 4.5 ...

Zestaw SDK Microsoft Express dla .NET 4.0 znajduje się w sekcji "Program Files (x86) \ Microsoft SDKs \ Expression \ Blend.NETFramework \ v4.0". Zgodnie z plikiem Readme Redist pliki z bibliotek, szablonów i "plików programów (x86) \ MSBuild \ Microsoft \ Expression \ Blend.NETFramework \ v4.0 \" są licencjonowane do redystrybucji. Plik Microsoft.Expression.Interactions.dll znajduje się w folderze Libaries, co oznacza, że ​​jest on objęty licencją na redystrybucję, a także wyjaśnia, dlaczego działa.

Niestety, plik Microsoft.Expression.Blend.dll nie znajduje się w żadnym z tych folderów. Znajduje się on w "Program Files (x86) \ Microsoft Visual Studio 12.0 \ Blend \", co oznacza, że ​​jest częścią Blend for VS2013 (aplikacja, nie SDK), która jest oparta głównie na .NET 4.5. Ponieważ ta biblioteka dll ma zależności od zespołów .NET 4.5, nie sądzę, że kiedykolwiek będzie działać podczas kierowania na .NET 4.0.

Sugerowałbym ponowne rozważenie sposobu użycia tego zestawu. Nie wyjaśniłeś, z której funkcji chcesz korzystać, ale ponieważ nie należy ona do zestawu SDK Express Blend, użycie go do kierowania na .NET 4.0 nie jest zamierzone.