60 votes

Pourquoi ce code plante-t-il Visual Studio 2015?

Pour une raison quelconque, même jusqu'à taper dans un fichier C# dans Visual Studio est suffisant pour provoquer instantanément crash. Pourquoi?

unsafe struct node {
    node*[] child;
}

Il semble se produire lorsque l'IDE serait de commencer la coloration des mots clés et la comme.

Essayer en TIO crache csc.exe exited with code 1 ce qui n'est pas très utile.

Tandis que la matrice de déclarations en C# sont différentes qu'en C/C++, le ci-dessus semble comme il devrait être parfaitement valide. Pourquoi n'est-il pas, et pourquoi ça plante Visual Studio?

Ma version de Visual Studio est 14.0.23107.

50voto

Amy Points 8019

C'est un bug connu de Roslyn. Ce bug va affecter n'importe quelle version de Visual Studio qui utilise Roslyn.

Si je suis interprète VersionOf.net correctement, la première version de Visual Studio avec Roslyn intégré 2015. Avant cela, je pense que c'était uniquement disponible comme une extension. Ainsi, Visual Studio 2013 et avant ne devraient pas être affectés.

Elle est due à être fixée dans l' étape 16 de libération. À ce moment, que la libération n'est pas prévue.

Parce que c'est un bug dans Roslyn, vous pouvez "se déplacer" par l'édition et la compilation du code contenant l' unsafe struct dans une version antérieure de Visual Studio, qui est antérieure à Roslyn. Visual Studio 2012 devrait fonctionner. Vous pouvez ensuite utiliser la résultante .DLL dans votre logiciel.

Un non vérifiées correctif est disponible si vous construisez Roslyn-vous de cette branche. La correction a été apportée dans ce commit.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X