Passage de Visual Studio 2005 à 2017

Passage de Visual Studio 2005 à 2017 - C#/.NET managed - Programmation

Marsh Posté le 19-05-2017 à 17:53:04    

Bien le bonjour,  
 
Au boulot j'ai une belle appli développée en VB.net, windows form, framework 2.0 avec du crystal reports XI. Elle est sous Visual Studio 2005 et j'aimerais passer à la version 2017.
 
J'ai commandé la version Pro de Visual Studio 2017 ainsi que SAP Crystal Reports 2016. En attendant de recevoir la commande j'ai télécharger la version de démo de Visual Studio 2017 pro.  
 
Lorsque j'ouvre pour la premiere fois mon projet avec vs3017 j'ai message pour convertir définitivement le projet en 2017. Le Setup n'est pas convertissable pas de soucis la dessus je le referais.  
 
Le soucis est sur le designer, il m'est impossible de l'utiliser car j'ai un message d'erreur. J'ai essayé de traduire un rsex mais rien n'y fait.  
J'ai aussi vérifié ça et j'ai bien les balises value de renseignées (pour un form tout du moins) :
http://geekswithblogs.net/rupreet/ [...] 63116.aspx
 
Merci pour votre aide  :o  
http://reho.st/self/15cee6a51cf3a32cf76de8cb0344cacca060e382.png
http://reho.st/self/b2bf51889d4f979c2b01e9b2de9df25808d63ff0.png

Reply

Marsh Posté le 19-05-2017 à 17:53:04   

Reply

Marsh Posté le 21-05-2017 à 20:35:53    

Ton VS2017 est à jour ? La version 2017.2 est sortie il y a peu et corrige pas mal de bugs.

 

Ton souci vient apparemment d'un fichier de ressource (d'après la stacktrace), peut être un local resource que l'IDE ne trouve pas ou qqch du genre. Des warnings à la compilation qui pourraient t'aiguiller ?

 

Mais sans vouloir faire le rabat joie c'est indispensable cette migration vers 2017 ?

 

Perso je me suis risqué car certains trucs du FW 4.7 m'intéressaient (high dpi, chemin longs...) et j'ai pas mal de soucis liés à l'IDE sous VS2017 avec des projets aussi bien web que winform qui fonctionnent très bien en 2015.
Et ce même sans upgrader le FW lui même (du coup resté en 4.6 ou 4.0 selon les projets), donc rien à voir avec le 4.7.
Donc je resterai sous VS 2015 encore un petit moment, même si la 2017.2 corrige une partie des pb que j'ai constatés.


Message édité par TotalRecall le 21-05-2017 à 20:39:22

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 21-05-2017 à 22:17:26    

Hello,

 

Je n'ai pas regardé s'il y avait des maj, j'ai juste téléchargée et installée la démo cette semaine. Je vérifierais demain la version.


Message édité par xhris le 21-05-2017 à 22:17:58
Reply

Marsh Posté le 22-05-2017 à 10:56:56    

Pour info pas besoin de relancer le setup : Menu Tools > Extensions and updates.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 22-05-2017 à 14:39:54    

Hello,  
 
je n'ai pas de maj à installer.
http://reho.st/self/903eba60ac1260369b2699f927d97fc2d94f7532.jpg

Reply

Marsh Posté le 24-05-2017 à 15:16:28    

Si ton souci est toujours présent, tu as essayé avec un VS2015 Community totalement à jour ?
Ca permettrait rapidement de voir si c'est lié à VS2017 immature ou au projet lui même.  
Dans tous les cas c'est quand même un sacré gros update d'un coup...


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 24-05-2017 à 15:20:54    

J'ai le community 2015 installé sur poste de mon contrat pro et le soucis est le même. Par contre à voir sa version est à jour.
Je vais tenter le 2008 que je dois avoir sur un autre pc aussi.


Message édité par xhris le 24-05-2017 à 15:27:32
Reply

Marsh Posté le 24-05-2017 à 15:54:14    

Quelques questions en vrac :
Tu as googlé un peu la stacktrace de ton message d'erreur en ajoutant NullReferenceException ?
Tu as tenté d'ouvrir (et reconstruire) les .resx ?
Tu as supprimé les .suo, .user, /bin, /obj.... ?
Tu as pu isoler le truc spécifique qui fait crasher (ressources, etc) ? Vérifié avec un cas plus simple genre un usercontrol tout basique ?
 
Attention, rien de miraculeux, comme ton souci est super vague avec juste le screenshot du designer planté je ne peux donner que des généralités.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 01-06-2017 à 11:34:29    

Bonjour,  
 
désole pour le délais je bossais sur autre chose.  
Vider bin et obj déjà fait.  
 
Je viens de supprimer les .suo et .user -> pas de changement.
 
Googler l'erreur ne me donne pas des masses d'infos.  
 
Par contre je veux bien des infos pour la reconstruction des .resx :)
j'ai des forms plus ou moins complexes qui fonctionnent.  

Reply

Marsh Posté le 01-06-2017 à 11:44:23    

Hello,

 

Bah un .resx quand tu l'ouvres et tu l'édites, VS te régénère le .resx et le fichier .designer.cs associé. C'est juste pour vérifier qu'ils sont toujours ouvrables, des fois qu'entre le 2005 et le 2017 il y aurait eu du changement.
J'ai supposé que le souci peut être lié aux fichiers de ressources vu que la stacktrace du designer en parle abondamment mais sans rien avoir vu de ton projet je ne sais même pas si c'est le cas et si tu en utilises pour de la localisation ou autre...
Peut être qu'en forçant la régénération du .resx et son .cs le designer winform retombera sur ses pieds, simple idée qui peut permettre de comprendre son caprice et ne prend pas longtemps à tester.

 

Tu n'as pas pu cerner ce qui fait la différence entre une form qui fonctionne et une qui foire ?

 


Un truc à savoir également à propos du designer winform, c'est qu'à l'ouverture d'une feuille ou contrôle ou autre, il se balade un peu partout dans le code et il exécute véritablement pas mal de choses de ton code en arrière plan, genre le contenu des constructeurs, le Load, etc.
Ceci pour tenter de présenter le contrôle "comme en vrai à l'exécution".

 

Simplement en ouvrant le contrôle dans le designer, c'est comme si tu faisais tourner en vrai un bout de ton appli.
Ca peut foutre un joyeux bordel et déclencher des exceptions vu que l'appli n'est pas réellement en exécution. Genre si ton Load essaye d'aller chercher un truc dans une base de données, etc.

 

Outre le fait de coder comme Microsoft l'entend, tu peux aussi empêcher le designer d'exécuter ton code en faisant quelques tests conditionnels dans les méthodes incriminées.
Des trucs du type : if (LicenseManager.UsageMode == LicenseUsageMode.Designtime), ou if (!this.DesignMode), etc.


Message édité par TotalRecall le 01-06-2017 à 11:47:33

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 01-06-2017 à 11:44:23   

Reply

Marsh Posté le 01-06-2017 à 14:07:19    

J'ai installé une version 2008 express et pas de soucis.
Je tente le 2010 express.  
 
L'ouverture du projet converti à partir du 2008 je change pas le problème.


Message édité par xhris le 01-06-2017 à 14:15:17
Reply

Marsh Posté le 01-06-2017 à 18:26:29    

J'ai exploré d'autres pistes notamment comment debuger sur le designer (avec l'aide de développez), mais ça n'abouti pas.

 

Pour visual studio 2012 et plus il faut utiliser ça :
https://stackoverflow.com/questions [...] 2#13698442

 

bon par contre ça ne fonctionne en 2017 pas je n'ai de XDesProc de lancé.


Message édité par xhris le 07-06-2017 à 15:17:58
Reply

Marsh Posté le 21-02-2018 à 09:24:20    

Bonjour,
 
je suis dans le même cas que vous, j'ai une appli en visual studio 2005  avec Crystal report XI et je souhaite migrer cette appli en visual studio 2017.
j'obtiens le même message que vous sur les forms concernant les exceptions.
Avez-vous pu trouver une solution à cette erreur ?
Merci d'avance pour votre réponse
Bien cordialement

Reply

Marsh Posté le 16-03-2018 à 15:35:35    

Le soucis venait du fichier .resx
 
Je les ai tous remplacés par un fichier créé avec le 2017.  
 
Il faut afficher tous les fichiers dans l'explorateur de solution et coper/coller le contenu du nouveau resx.  
 
Par contre tu vas perdre toutes les ressources de ton form, comme les icones, les images etc.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed