1

Microsoft.VisualStudio.VCProjectEngineアセンブリを参照するVisual Studio拡張機能を作成しています。Visual Studio拡張で古いアセンブリへの参照を使用すると型変換が失敗する

今、私はこのようなMicrosoft.VisualStudio.VCProjectEngine.VCProjectEnvDTE.Projectからキャストしようとしている:

VCProject vcProject = project.Object as VCProject;

バージョンVCProjectEngineアセンブリの14.0を使用しながら、Visual Studioの2015年に私の拡張を構築し、実行している場合は、このキャストは正常に動作します。しかし、バージョンを12.0に変更するとキャストが失敗し、VS2013に拡張機能をインストールすることができます。私がここで欠けているものがなければならない。

VCProjectEngineアセンブリを参照して、タイプキャストがVS2013とVS2015で動作するようにするにはどうすればよいですか?

+0

はあなたがCommon7 \ IDE \ PublicAssemblies下VS 2013に同梱されてMicrosoft.VisualStudio.VCProjectEngine.dllリファレンスを使用していますか?私は、このアセンブリが異なるバージョンのVSに対して異なるバージョンを持っていることを知っています。また、他のコミュニティのメンバーも前に互換性の問題があります。https://social.msdn.microsoft.com/Forums/vstudio/en-US/d82a07ed-a3b9- 4321-abb0-a72cb78f9c6e/vcprojectengine-for-different-vs-version?forum = vsxは、特定のオブジェクトタイプが上位バージョンで変更されたことを意味します。可能であれば、VS2013で新しいものを作成することをお勧めします。 –

+0

@ JackZhai-MSFT:そのポインタをありがとう。はい、VS2013に付属のアセンブリを使用しようとしました。その場合、VS2015で拡張機能を実行するとタイプキャストが失敗しますが、VS2013に同じ拡張機能をインストールして実行すると、すべて正常に機能します。 「あなたはVS2013で新しいものを作成することをお勧めしますか?」とはどういう意味ですか? –

+0

ちょうどそれを無視する、実際に私は拡張子が別のVSバージョンで互換性の問題がある場合は、別のプロジェクトを作成するほうがいいということを意味します。この問題を明確にするために、今すぐ正しいアセンブリを使用した後、この問題はVS2013で解決されましたか?私は正しい?もしそうなら、私は答えとしてその解決策を投稿します:) –

答えて

関連する問題