April_Seb4
Messages postés19Date d'inscriptionmardi 17 février 2004StatutMembreDernière intervention 2 octobre 2013
-
18 sept. 2013 à 16:47
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 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
April_Seb4
Messages postés19Date d'inscriptionmardi 17 février 2004StatutMembreDernière intervention 2 octobre 2013 19 sept. 2013 à 12:07
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.
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 19 sept. 2013 à 15:59
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.
April_Seb4
Messages postés19Date d'inscriptionmardi 17 février 2004StatutMembreDernière intervention 2 octobre 2013 2 oct. 2013 à 14:44
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)
Vous n’avez pas trouvé la réponse que vous recherchez ?
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 2 oct. 2013 à 15:05
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...)
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.