Bonjour,

J'utilise Visual Studio 2022, j'apprécie vraiment leur nouvelle façon de faire de l'autocomplétions qui peux nous accélérer grandement le travail, parfois ont à même l'impression qu'il lit dans nos pensés .

Mais j'ai de plus en plus de mal avec des problèmes pourtant cruciaux. 2 problèmes en faite, mais l'un d'eux m'agace fortement.

Lorsque je quitte le logiciel si l'un des fichiers n'est pas enregistré il m'alerte, jusque là cela va bien, mais malheureusement il n'enregistre pas tout, et c'est là le souci.
Je veux bien qu'a l'origine c'est moi qui n'est pas enregistrer, mais s'il le propose c'est pas normale qu'il ne le face pas jusqu'au bout. J'avais pas ce souci sur les anciennes versions.

Exemple que je viens de voir ce matin.

Vendredi j'ai corrigé des soucis créés par mes anciens collègues que je remplace. Le logiciel étant installé sur un PC avec écran tactile, un clavier virtuel est fabriqué pour entrer un code de connexion et je trouvais cela très lent.


Le code initial était celui-ci:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
         private void ClavierNumerique(object sender, MouseButtonEventArgs e)
        {
            string code = "";
            try
            {
                var obj = sender as Polygon;
                code = (string)obj.Tag;
            }
            catch { }
            try
            {
                var obj = sender as TextBlock;
                code = (string)obj.Tag;
            }
            catch { }
            switch (code)
            {
               //...Traitement des touches
            }
            // On met le focus en fin de ligne d'input
            SetSelection(MyTextBox, MyTextBox.Password.Length, 0);
            MyTextBox.Focus();
        }
Chaque touches contiennent un TextBlock et un Polygon. Comme vous le constater c'est pas super propre, ils se servaient des try catch pour savoir si c'était un Polygon ou texblock, forcement ont passe par l'un des try catch, d'où le ralentissement.

J'ai corrigé cela rapidement en mettant un if(obj != null) dans un 1er temps:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
            try
            {
                var obj = sender as Polygon;
                if(obj != null)
                     code = (string)obj.Tag;
            }
            catch { }
            try
            {
                var obj = sender as TextBlock;
                if(obj != null)
                      code = (string)obj.Tag;
            }
Je vous rassure je n'en suis pas resté là, mais j'ai testé cela plusieurs fois sans souci, j'ai fait autre chose entre temps vendredi et ce matin, mon code n'a plus mes modifications dans cette méthode. C'est rageant.

Mes autres modifications que j'ai faites après "semblent" bien présentes (j'ai ajouté des ", car je n'ai pas tous vérifié non plus, mais là on perd vraiment du temps)

Vendredi j'ai fait un git de mon projet avant de partir et là non plus il n'y a pas les modifications.

Comment est-ce possible? Y a-t-il un moyen dans VS d'automatiser les enregistrements complet à chaque build ? Ce qui me semblait être le cas pourtant.

Merci


L'autre point qui m'agace et c'est de pire en pire à chaque update je trouve, mais ça c'est une autre affaire. Le fait qu'il ne trouve pas d'erreur, mais il ne compile pas, il indique une ou plusieurs erreurs à la compilation, mais rien ne s'affiche, où l'inverse, il trouve des erreurs alors qu'elles sont corrigées. Parfois obligeant à fermer VS puis nickel à la réouverture.

Ou encore il trouve une multitude d'erreur dans le XAML, alors que c'est une erreur dans le code behind. C'est depuis les dernières mises à jour.