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?