Problème de recompilation sous Visual Studio 2010

Messages postés
19
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
2 octobre 2013
- - Dernière réponse : sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
- 4 oct. 2013 à 15:24
Bonjour,

J'ai une solution C# contenant environ 180 projets (Framework 2.0 et 4.0 mélangé)
Quand je compile ma solution, je n'ai aucune erreur et aucun avertissement
Je peux lancer mon application sans problème et modifier mes contrôles dans le concepteur sans souci.

Par contre, si je fais un clique droit sur ma solution et que je la régénère, je n'ai toujours pas d'erreur de compilation mais j'ai des erreurs dans le concepteur de Visual Studio 2010 qui dit qu'il n'arrive pas à charger une assembly et je ne peux donc plus modifier l'apparence de mes contrôles (Ceux-ci ont une contrôle de base et j'en ai pas mal qui dérive de ce contrôle de base)

Je n'ai trouvé aucune méthode pour corriger ce problème si ce n'est de redémarrer Visual Studio.
En effet, si je redémarre Visual Studio et que je recharge ma solution, tout fonctionne de nouveau jusqu'à ce que je refasse un "Régénérer la solution"
J'ai essayé avec F6 pour effectuer une compilation simple et dans ce cas, ça fonctionne, aucune erreur dans le concepteur.

Je n'arrive pas à l'expliquer. Quelqu'un a t'il une idée ?

PS : Cela ne provient pas de l'OS car j'ai la même chose sous XP ou sous 8
Afficher la suite 

7 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
0
Merci
Bonjour,

Je pense qu'il s'agit d'un problème d'ordre de compilation et/ou de mixage de versions de framework.

Est-il possible de mettre tous tes projets en .net 4.0 ?

sébastien
Commenter la réponse de sebmafate
Messages postés
19
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
2 octobre 2013
0
Merci
Bonjour,

Ce n'est pas possible car des composants 2.0 sont utilisés dans des applications 2.0
Je ne peux donc pas les mettre en 4.0 sous peine de ne plus pouvoir compiler les autres applications.

Petit bémol au mixage de Framework car j'avais le même problème sous XP quand la solution complète était encore en 2.0 sur tous les projets (Je suis passé en 4.0 pour utiliser la covariance)

S'il y avait un problème d'ordre de compilation, cela devrait me donner la même erreur quand je redémarre Visual hors tout va bien quand il redémarre. Personnellement, je pense à un bug de Visual Studio 2010 mais n'en étant pas sûr, j'aurais voulu savoir si d'autres personnes avait eu un problème similaire.

Note : Des fois l'erreur est un problème de chargement d'une assembly. Si je supprime cet assembly des références et que je la remet, cela peut fonctionner (mais pas toujours). En comparant les deux fichiers csproj, il n'y a pas de différence. C'est tout de même assez bizarre.
Commenter la réponse de April_Seb4
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
0
Merci
Bonjour,

Je pense que Visual Studio doit avoir du mal avec tes 180 projets.
Normalement, quand il commence a y avoir trop de projets on découpe la solution en plusieurs éléments et on utilise les assemblies plutôt que le code.

Il est même possible de monter un repository nuget pour faire ça proprement et gérer les dépendances.


Sébastien
Commenter la réponse de sebmafate
Messages postés
19
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
2 octobre 2013
0
Merci
OK merci

Je vais voir ce que je vais faire car une modification d'un des projets impacte tous les autres.
Etant donné le caractère en développement de ma solution, je pense que je ne vais pas sortir les assemblies tout de suite afin d'avoir une recompilation complète et correcte via Visual.

Si le planton arrive, alors je redémarre Visual dans un premier temps. Une fois mon développement stabilisé, j'aviserai pour utiliser les assemblies en lieu et place des projets (Mais je pense qu'au niveau de la gestion des versions, c'est tout de même assez lourd)
Commenter la réponse de April_Seb4
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
0
Merci
Tu ne vas rien perdre en gestion des versions... bien au contraire !

Quant au développement de tous les jours : je doute que tu modifies 30% de tes assemblies toutes les semaines. Donc, tu vas y gagner en terme d'efficacité (temps de compilation plus court, ouverture de visual studio plus rapide...)

Sébastien
Commenter la réponse de sebmafate
0
Merci
Où je veux en venir, par rapport à la gestion des versions, c'est quand tu as une assembly qui change (bas niveau) et qu'il faut la mettre à jour dans 180 projets, c'est tout bonnement la misère.

Exemple : j'ai un composant extérieur qui est mis à jour tous les trois mois. J'ai commandé la version avec le code source ce qui m'a permis d'intégrer le projet dans mes assemblies.
Je demande à Visual de ne pas générer ce projet et il prends donc la DLL dans le répertoire binaire.
Quand je reçois une mise à jour, je n'ai que la DLL binaire dans le répertoire de sortie à modifier et c'est fini, c'est répercuter dans tous les projets qui l'utilise.

Effectivement, si j'étais dans un mode stabilisé avec des assemblies qui ne bougent plus, cela semble être une bonne approche.
Commenter la réponse de April_Seb4
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
0
Merci
C'est pour ça que je parle d'utiliser nuget qui permet de gérer simplement et automatiquement...

Ce n'est pas moi qui a des problèmes de recompilations et pose la question sur un forum pour avoir des solutions.

Sébastien
Commenter la réponse de sebmafate