2010-09-20 12 views
10

Un peu étrange ici les gars.Assemblage en mode Team Build, SGen & Mixed

Nous avons une solution assez complexe (111 projets répartis sur les solutions asp.net, silverlight, WFC, Ria Services, etc.), qui se construit correctement sur ma boîte de dev (2010). Si je lance VS sur notre machine de construction, je peux aussi construire la solution correctement. Cependant, quand je fais la queue d'une construction, elle le fait presque, jusqu'à ce qu'elle essaye d'exécuter SGen - à quel point je reçois l'ancien "L'assembly de mode mélangé est construit contre la version 'v2.0.50727' du runtime et ne peut pas être chargé dans le 4.0 runtime sans informations de configuration supplémentaires. " châtaigne. J'ai cherché sur googled pour trouver une solution, mais rien ne semble faire le travail - l'erreur survient à l'heure compliquée plutôt que l'exécution, et j'ai ajouté la clé d'activation v2 au fichier de configuration de l'hôte de construction de l'équipe pour aucun effet. Il n'y a aucun test dans la solution qui pourrait provoquer le chargement des choses.

Des idées? N'importe qui? Particulièrement confus que VS peut construire ok sur le serveur, mais la construction d'équipe échoue.

Répondre

18

L'astuce suivante a fonctionné pour moi (ref.)

Edit (ou créer si elle n'existe pas) sgen.exe.config qui devrait être situé sous:

  • C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\

ou sur un système d'exploitation x64:

  • C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\

Puis ajouter:

<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0"/> 
    </startup> 
</configuration> 

Pour autant que je comprends, en ajoutant le même extrait dans le app.config du projet pourrait pas être suffisant car il n'est pas lu par le sgen outil: (

+1

Remarque: L'extrait ci-dessus doit être placé dans les balises ''. –

+0

@Darrell. Mis à jour en conséquence. Merci. –

+2

Notez également que sur un système x64, cela doit être C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools \. Il peut y avoir une version x64 de sgen.exe et celle-ci ne fonctionne pas. – RandomEngy