/CLRTHREADATTRIBUTE (Festlegen des CLR-Threadattributs)
Geben Sie das Threadingattribut für den Einstiegspunkt des CLR-Programms explizit an.
Syntax
/CLRTHREADATTRIBUTE:{STA|MTA|NONE}
Parameter
MTA
Wendet das MTAThreadAttribute-Attribut auf den Einstiegspunkt Ihres Programms an.
NONE
Identisch mit der Angabe von /CLRTHREADATTRIBUTE. Ermöglicht der CLR (Common Language Runtime), das Standardthreading-Attribut festzulegen.
STA
Wendet das STAThreadAttribute-Attribut auf den Einstiegspunkt Ihres Programms an.
Hinweise
Das Festlegen des Thread-Attributs ist nur gültig, wenn ein .exe erstellt wird, da es sich auf den Einstiegspunkt des Hauptthreads auswirkt.
Wenn Sie den Standardeinstiegspunkt (z. B. Haupt- oder Wmain) verwenden, geben Sie das Threadingmodell entweder mithilfe von /CLRTHREADATTRIBUTE oder durch Platzieren des Threadingattributs (STAThreadAttribute oder MTAThreadAttribute) in der Standardeingabefunktion an.
Wenn Sie einen nicht standardmäßigen Einstiegspunkt verwenden, geben Sie das Threadmodell entweder mithilfe von /CLRTHREADATTRIBUTE an, oder platzieren Sie das Threadingattribut in der nicht standardmäßigen Einstiegsfunktion, und geben Sie dann den nicht standardmäßigen Einstiegspunkt mit /ENTRY an.
Wenn das im Quellcode angegebene Threadingmodell nicht mit dem threadingmodell übereinstimmt, das mit /CLRTHREADATTRIBUTE angegeben ist, ignoriert der Linker /CLRTHREADATTRIBUTE und wendet das im Quellcode angegebene Threadingmodell an.
Es ist erforderlich, dass Sie singlethreading verwenden, z. B. wenn Ihr CLR-Programm ein COM-Objekt hostt, das singlethreading verwendet. Wenn Ihr CLR-Programm Multithreading verwendet, kann es kein COM-Objekt hosten, das singlethreading verwendet.
So legen Sie diese Linkeroption in der Visual Studio-Entwicklungsumgebung fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).
Wählen Sie die Seite "Konfigurationseigenschaften linker>>Advanced".
Ändern Sie die CLR Thread-Attributeigenschaft .
So legen Sie diese Linkeroption programmgesteuert fest
- Siehe CLRThreadAttribute.