main tråd får ikke STA selvom main har [STAThread]
Jeg har et Windows applikation som udvikles i C# VS2005, med .NET 2.0. I applikationen er der en form som bruger drag-n-drop, hvorfor det er nødvendigt at applikationen kører i Single threaded apartement (STA).Hvis jeg skriver [STAThread] foran deklarationen af min main metode, ville jeg forvente at Thread.CurrentThread.ApartmentState ville vise STA. Den viser mod al forventning at tråden kører i MTA.
Jeg forsøgte at manipulere trådens Apartment type ved at kalde
Thread.CurrentThread.SetApartmentState(ApartmentState.STA);
Den kaster dog en InvalidoperationException, med texten "Failed to set the specified COM apartment state."
Hvis jeg laver et helt ny projekt, med en main metode i, så kan jeg se at jeg ved et breakpoint i første linje i min main metode har STA som apartmentstate for Thread.CurrenThread.
Jeg har oprindeligt oprettet projektet som en dll, men skiftet om til at det er en windows applikation, jeg ved ikke om det har nogen indflydelse. Jeg synes dog ikke jeg kan finde noget om emnet i csproj-filen. Er der nogen der kan hjælpe mig med hvad der kan være galt?
Jeg sidder lidt fast, og kan ikke eksekvere mit program, så derfor det høje pointtal. Jeg håber i kan hjælpe mig hurtigt.