CA2232 : Marquez les points d'entrée Windows Forms avec STAThread
Élément | Valeur |
---|---|
ID de la règle | CA2232 |
Category | Microsoft.Usage |
Modification avec rupture | Sans rupture |
Cause
Un assembly fait référence à l’espace de noms System.Windows.Forms et son point d’entrée n’est pas marqué avec l’attribut System.STAThreadAttribute.
Description de la règle
STAThreadAttribute indique que le modèle de thread COM de l’application est un modèle STA (Single-Threaded Apartment). Cet attribut doit être présent au point d'entrée de toute application qui utilise des Windows Forms ; s'il est omis, les composants Windows peuvent ne pas fonctionner correctement. Si l’attribut n’est pas présent, l’application utilise le modèle d’appartement multithread, qui n’est pas pris en charge pour Windows Forms.
Notes
Les projets Visual Basic qui utilisent l’infrastructure d'application n’ont pas besoin de marquer la méthode Main avec STAThread. Le compilateur Visual Basic le fait automatiquement.
Comment corriger les violations
Pour corriger une violation de cette règle, ajoutez l’attribut STAThreadAttribute au point d’entrée. Si l’attribut System.MTAThreadAttribute est présent, supprimez-le.
Quand supprimer les avertissements
Il est sûr de supprimer un avertissement de cette règle si vous développez pour .NET Compact Framework, pour lequel l’attribut STAThreadAttribute est inutile et non pris en charge.
Exemple
Les exemples suivants illustrent l’utilisation correcte de STAThreadAttribute :
using System;
using System.Windows.Forms;
namespace UsageLibrary
{
public class MyForm: Form
{
public MyForm()
{
this.Text = "Hello World!";
}
// Satisfies rule: MarkWindowsFormsEntryPointsWithStaThread.
[STAThread]
public static void Main()
{
MyForm aform = new MyForm();
Application.Run(aform);
}
}
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour