Keine Idee, was dazu führen kann, dass "vshost32.exe funktioniert nicht mehr" in Visual Studio 2013 funktioniert?

Eine C # WPF-Anwendung, an der ich arbeite, enthält viele Aufrufe einer nicht verwalteten externen DLL. Alle Aufrufe der DLL funktionieren erwartungsgemäß, wenn die Anwendung normal ausgeführt wird (d. H. Außerhalb des Visual Studio-Debuggers). Beim Debuggen in Visual Studio 2013 stürzt jedoch ein Aufruf einer bestimmten Methode in der DLL die Anwendung ab:

So importiere ich die Methode:

[DllImport("Client.dll", CallingConvention = CallingConvention.Cdecl)]
private static extern string ClientGetVersion();

... und so rufe ich die DLL-Methode auf:

try
{
  version = ClientGetVersion();
}
catch (Exception ex)
{
  // Error handling omitted for clarity...
}

Es scheint, dass Visual Studio den Prozess vshost32.exe verwendet, um Anwendungen während einer Debugsitzung zu hosten VSHOST - der Hosting-Prozess). Darüber hinaus können "Aufrufe an bestimmte APIs betroffen sein, wenn der Hosting-Prozess aktiviert ist. In diesen Fällen ist es erforderlich, den Hosting-Prozess zu deaktivieren, um die korrekten Ergebnisse zurückzugeben." (Siehe den MSDN-Artikel Gewusst wie: Deaktivieren des Hosting-Prozesses). Das Deaktivieren der Option "Aktivieren des Visual Studio-Hosting-Prozesses" unter "Projekt> Eigenschaften ...> Debuggen" (siehe unten) behebt das Problem tatsächlich:

Hat jemand eine Idee, was genau dieses Problem mit "... Aufrufen bestimmter APIs ..." verursachen könnte?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage