Question

Quelqu'un at-il eu de succès la conversion d'un projet VS 2008 C ++ / CLI (de vcproj) à un projet VS 2010 (vcxproj), tout en maintenant .NET 3.5 comme le cadre cible? Je ne l'ai pas été en mesure de le faire et obtenir le projet de construction avec succès. Le projet compile bien dans VS2008 comme .NET 3.5, et bien dans VS2010 comme .NET 4.0, mais je suis incapable de cibler .NET 3.5 en 2010. L'IDE ne semble pas fournir une option pour elle, et de modifier le fichier vcxproj en ajoutant

<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>

provoque la compilation à l'échec avec l'erreur folling:

Error   1   error C1001: An internal error has occurred in the compiler.

Selon cette lien , il y a apparemment quelques différences dans les compilateurs utilisés entre VS2008 et 2010, mais modifiant manuellement le fichier de projet a été encore proposé comme solution. Est-ce que quelqu'un a une idée à ce sujet?

Était-ce utile?

La solution

Merci pour l'astuce sur TargetFrameworkVersion. Il a travaillé pour moi, mais malheureusement cela ne vous aide pas.

Il est facile d'obtenir « erreur interne du compilateur » si vous avez des anciens fichiers (fichiers PCH, fichiers d'objets) fait pour une autre version du compilateur C ++ qui traînent. Avez-vous nettoyé tout quand vous avez changé la version d'outils?

Autres conseils

Lorsque vous ciblez NET Framework v3.5 et la construction en utilisant VS2010, vous pouvez parfois déclencher l'erreur de linker C1001 en raison de l'ajout automatique VS2010 une référence à System.Core lorsque vous compilez. Ce n'est pas explicite et ne sera pas affiché dans vos références, mais plutôt fait au cours de la compilation. Vous pouvez dire VS de ne pas ajouter les assemblages en ajoutant cet élément dans votre Globals PropertyGroup:

<AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>

Wow, la réponse à rapport de bogue de Brickner est dévastateur - le ciblage 3,5 est pas pris en charge et ne sera pas fixé

Mes expériences étranges avec les accidents sont qu'ils ont été fixés en tournant sur les en-têtes précompilés, encore plus étrange parce que stdafx.h était vide, donc je ne sais pas ce qu'ils font.

Installez ce correctif et vos problèmes sont probablement partis: http://support.microsoft.com/kb/ 976656

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top