CA2232: Contrassegnare i punti di ingresso del Windows Form con STAThread
Articolo | Valore |
---|---|
ID regola | CA2232 |
Category | Microsoft.Usage |
Modifica | Nessuna interruzione |
Causa
Un assembly fa riferimento allo System.Windows.Forms spazio dei nomi e il relativo punto di ingresso non è contrassegnato con l'attributo System.STAThreadAttribute .
Descrizione regola
STAThreadAttribute indica che il modello di threading COM per l'applicazione è apartment a thread singolo. Questo attributo deve essere presente sul punto di ingresso di qualsiasi applicazione che utilizza Windows Form; se omesso è possibile che il componente Windows non funzioni correttamente. Se l'attributo non è presente, l'applicazione usa il modello apartment multithreading, che non è supportato per Windows Form.
Nota
I progetti Visual Basic che usano Application Framework non devono contrassegnare il metodo Main con STAThread. Il compilatore Visual Basic esegue automaticamente questa operazione.
Come correggere le violazioni
Per correggere una violazione di questa regola, aggiungere l'attributo STAThreadAttribute al punto di ingresso. Se l'attributo System.MTAThreadAttribute è presente, rimuoverlo.
Quando eliminare gli avvisi
È possibile eliminare un avviso da questa regola se si sviluppa per .NET Compact Framework, per cui l'attributo STAThreadAttribute non è necessario e non supportato.
Esempio
Gli esempi seguenti illustrano l'utilizzo corretto di 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);
}
}
}
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per