Laden...

Dll debuggen geht nicht mehr

Erstellt von bredator vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.256 Views
B
bredator Themenstarter:in
357 Beiträge seit 2010
vor 11 Jahren
Dll debuggen geht nicht mehr

Hi zusammen,

ich habe eine inzwischen größere Dll gebaut, in welcher ich zum reinen Testen eine Main()-Methode mit [STATHREAD] eingefügt habe, so dass ich für einen direkten lokalen Test nur von "Klassenbibliothek" auf "Windows-Anwendung" umstellen muss in den Projekteigenschaften.

Das hat seit Projektbeginn im September 2011 auch wunderbar funktioniert. Wollte ich die Dll (Com Interop) dann in der nativen Anwendung einbinden, habe ich den Projekttyp umgestellt, die Dll erstellt und konnte damit weiter arbeiten. So weit, so gut.

Seit ich heute morgen Visual Studio gestartet habe, geht das allerdings nicht mehr. Drücke ich im Debugmodus F5, erhalte ich eine "MissingMethodException", die mir erzählt, dass kein Einstiegspunkt in meiner Assembly gefunden wurde. Die Exe wird allerdings trotzdem erstellt und sobald ich diese ohne Visual Studio starte, tut sie auch genau das, was sie tun soll - durchläuft also anscheinend die Main-Methode. Setze ich einen Haltepunkt im Studio und versuche zu debuggen, bekomme ich obige Exception.

Stelle ich das Ganze auf Release um (was mir zum Debuggen aber nichts bringt), funktioniert es auch problemlos.

Ich habe gegoogelt und das Forum nach einem ähnlichen Problem durchwühlt und habe weiterhin absolut keine Ahnung, was dieses Verhalten verursacht, geschweige denn, wie man dieses wieder abstellen kann. Hat sich wieder irgendeine Einstellung im Studio aktiviert, die "Mache verrücktes Zeug im Debug" heißt, oder bin ich gerade nur zu fest auf dem Schlauch, um den Fehler zu bemerken? Bin über jeden Hinweis dankbar.

Hier die Main-Methode:


[STAThread]
        public static void Main()
        {
            if (!bAutotest)
            {
                ObjectRef = new ObjectRef();
                MethodGo(@"test.bmp", false);
            }            
        }

bAutotest ist fix auf false gestellt, bzw. bis zu dieser Prüfung komme ich gar nicht erst (siehe - Haltepunkt gesetzt, MissingMethodException kommt sofort).
Das Objekt, das dort erstellt wird, benötige ich für spätere Operationen und wird nur für die lokalen Tests an dieser Stelle schon erzeugt (normalerweise mitten im Programm) - aber zu dieser Stelle komme ich ja auch nicht.

Ergänzend noch den Stacktrace:

Fehlermeldung:
System.MissingMethodException wurde nicht behandelt.
Message="Der Einstiegspunkt wurde in der Assembly "BOCR, Version=1.0.0.0, Culture=neutral, PublicKeyToken=10f00c4fa81ad22f" nicht gefunden."
Source="mscorlib"
StackTrace:
bei System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
InnerException:

C
40 Beiträge seit 2011
vor 11 Jahren

Hi bredator,

blöde Frage aber hast du mal versucht die Solution und/oder das Projekt zu bereinigen?
Bekämpft zwar nur das Symptom, aber ist die Funktion wieder gegeben wenn du den Projektinhalt in ein neues Leerprojekt übernimmst?

Gruß Chris

B
bredator Themenstarter:in
357 Beiträge seit 2010
vor 11 Jahren

Projekt bereinigen war ohne Wirkung. Ich werde, wenn es die Zeit erlaubt, mal versuchen, alles in ein neues Projekt zu ziehen.

B
bredator Themenstarter:in
357 Beiträge seit 2010
vor 11 Jahren

Hm, habe mal den Resharper meine Verweise optimieren lassen. Anschließend hab ich den log4net-Verweis entfernt. Debuggen ging wieder. log4net wieder hinzugefügt, debuggen geht immer noch. Muss ich hoffentlich nicht verstehen, bin aber trotzdem froh, dass ich wieder arbeiten kann. Trotzdem danke fürs Lesen 😉

B
bredator Themenstarter:in
357 Beiträge seit 2010
vor 11 Jahren

Na ja, kaum das Wochenende vorbei, selbes Problem wieder vorhanden. Der "Workaround" (wenn man das so nennen kann) funktioniert auch nicht mehr. Bin also wieder mal ratlos.

Edit: Es liegt wohl irgendwie am Visual Studio Hostprozess. Sobald ich diesen deaktiviere, kann ich im Wesentlichen debuggen, allerdings sind ein paar Sachen eben nicht so schön, wie sonst... na ja, falls nicht irgendwoher noch ein Geistesblitz kommt, werd ich wohl damit leben müssen.