1

J'écris une extension Visual Studio qui fait référence à l'assembly Microsoft.VisualStudio.VCProjectEngine.Échec du typecast lorsque l'extension Visual Studio utilise la référence à l'ancien assembly

Maintenant, je suis en train de jeter EnvDTE.Project-Microsoft.VisualStudio.VCProjectEngine.VCProject comme ceci:

VCProject vcProject = project.Object as VCProject;

Cette fonte fonctionne très bien lors de la construction et l'exécution de mon extension dans Visual Studio 2015 en utilisant la version 14.0 de l'ensemble de VCProjectEngine . Cependant, la conversion échoue lorsque je change la version en 12.0 afin que mon extension puisse également être installée sur VS2013. Il doit y avoir quelque chose qui me manque ici.

Comment puis-je référencer l'assembly VCProjectEngine de sorte que mon typecast fonctionne dans VS2013 et VS2015?

+0

Utilisez-vous la référence Microsoft.VisualStudio.VCProjectEngine.dll livré avec VS 2013 sous Common7 \ IDE \ PublicAssemblies? Ce que je sais que cette assemblée a vraiment différentes versions pour différentes versions de VS, et d'autres membres de la communauté ont également eu le problème de compatibilité avant: https: //social.msdn.microsoft.com/Forums/vstudio/en-US/d82a07ed-a3b9- 4321-abb0-a72cb78f9c6e/vcprojectengine-for-different-vs-versions? Forum = vsx, cela signifie que certains types d'objets ont été modifiés dans la version supérieure. Si possible, je vous suggère d'en créer un nouveau dans VS2013. –

+0

@ JackZhai-MSFT: Merci pour ce pointeur. Oui, j'ai essayé d'utiliser l'assemblage livré avec VS2013. Dans ce cas, le typecast échoue lors de l'exécution de l'extension dans VS2015 mais lorsque j'installe la même extension sur VS2013 et que je l'exécute, tout fonctionne correctement. Que voulez-vous dire par _ "Je vous suggère de créer un nouveau dans VS2013" _? –

+0

Juste ignorer, en fait je veux dire que si l'extension a le problème de compatibilité dans différentes versions de VS, créer un projet séparé serait mieux. Juste pour faire ce problème clairement, ce problème a été résolu dans VS2013 après avoir utilisé l'assemblage correct maintenant? ai-je raison? Si oui, je vais poster cette solution comme réponse :) –

Répondre