私はVS 2013でWPFプロジェクトを作成しました。VS2015にアップグレードした後、このエラーはBlend SDKから派生した型でデザイナーに表示されました:
アセンブリからの型は、古いバージョンのブレンドSDKで構築されており、WindowsプレゼンテーションFoundation 4プロジェクトではサポートされていません
管理者としてコマンドプロンプトを実行する
ディレクトリをBlend SDKに変更します:cd C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.5\Libraries\
DLLの登録:gacutil -i System.Windows.Interactivity.dll
Visual Studioを再起動します。
この問題は、.slnファイルと.csprojファイルのバージョン番号を手動で変更することで解決できます。
.csprojおよび.csproj.userで、ToolsVersion
を現在のVisual Studioバージョンに変更します。 VS 2013はバージョン12、VS 2015はバージョン14です。
.slnのVisualStudioVersion
を現在のバージョンに変更すると、[バージョン情報]ウィンドウに表示されます。
また、Microsoft Visual Studio Solution File, Format Version
現在のバージョン(例:14.00、12.00)
注:これは組み込みアセンブリでのみ機能します。外部の依存関係(Prismなど)がこのエラーの原因である場合は、新しいBlend SDKを使用して再コンパイルする必要があります。また、依存関係を更新してみることもできます。おそらく最新バージョンは、最新のBlend SDKを使用してすでにコンパイルされています。
ここでの他の答えはどれも私にとってうまくいきませんでした。最終的にそれを解決したのは、SDKフォルダー内のファイルの.NET v4.0バージョンを削除することでした。
C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries\
NuGet経由でv4.5ファイルを参照していますが、designerが上記のフォルダーでファイルを見つけていたようです。 v4.0ファイルはGACに登録されていません。
Visual Studio 2017を使用して同様の問題が発生していましたが、上記のいずれの回答でも完全に解決しませんでした。マイクロソフトの開発者コミュニティを見つけました ページ トリックを実行する回避策がありました。 Bran Haggerによるコメントでは、ソリューションのディレクトリから.vs
フォルダーを削除することを推奨しています。この追加の手順により、キャッシュがクリアされ、Visual Studioによってキャッシュが再構築されました。
人気のある答えは有効ですが、開発者の世界では物事は常に変化しているので、(IMO)より良い解決策が今あると思います。
2018年12月、Microsoftは、WPFのXAML動作用の公式のオープンソースでサポートされているNuGetパッケージをリリースしました。 (UWPには別のものがあります。)このパッケージへの移行は非常に簡単です。現在のNuGetパッケージをアンインストールし、いくつかの参照を削除して、このパッケージをインストールし、usingステートメント(またはFQN)を変更する必要があります。
https://www.nuget.org/packages/Microsoft.Xaml.Behaviors.Wpf/
https://devblogs.Microsoft.com/dotnet/open-sourcing-xaml-behaviors-for-wpf/
私はこのSO回答でそれについて読んだので、クレジットはそのOPに行きます:
これは、異なるバージョンのSystem.Windows.Interactivity.dll
を混在させている可能性もあります。特に、いくつかの異なるパッケージが提供するnugetからSDKを取得している場合は、次のようになります。
https://www.nuget.org/packages/Expression.Blend.Sdk/https://www.nuget.org/packages/System.Windows.Interactivity.WPF/
この場合、プロジェクト間でこれらのライブラリを同期する必要があります。
Microsoft Visual Studioソリューションファイルのフォーマットバージョンを14.00に変更するだけでうまくいきました。
ソリューションフォルダー内の.vsファイルを削除すると、問題が解決しました。 My Visual Studio 2017を更新し、以前のバージョンのVisual Studio 2017で以前にビルドされたプロジェクトを開いた後、この問題が発生しました。