7

Ich habe ein Problem, wo mein vshost.exe Dateiname unterscheidet sich von meinem tatsächlichen application.exe Dateiname, verhindert mich von der Anwendung zu debuggen.Name der ausführbaren Anwendung unterscheidet sich von vshost ausführbaren Namen

Das Setup ist wie folgt:

- MySolution 
    - Installer.Release 
    - Installer.Debug 
    - Installer.Testing 
    - MyApplication 

ich Visual Studio 2012 bin mit .NET 4.0 und Install LE.

Nun wurde aus Gründen, die ich nicht kontrollieren konnte, entschieden, dass der ausführbare Name der Anwendung die Umgebung enthalten sollte: MyApplication (Release).exe, MyApplication (Debug).exe, MyApplication (Testing).exe.

Dies wird durch Modifizieren der .csproj Datei in den folgenden leicht gemacht:

<AssemblyName>MyApplication (Release)</AssemblyName> 
<AssemblyName Condition="'$(Configuration)' == 'Debug'">MyApplication (Debug)</assemblyName> 
<AssemblyName Condition="'$(Configuration)' == 'Testing'">MyApplication (Testing)</AssemblyName> 

Wenn in Debug die Anwendung Aufbau erzeugt sie die folgenden Dateien in meinem bin/Debug Ordner:

MyApplication (Debug).exe 
MyApplication (Debug).exe.config 
MyApplication (Debug).vshost.exe 
MyApplication (Debug).vshost.manifest 

So weit, so gut.

Beim Erstellen der Anwendung in Testing, erzeugt er die folgenden Dateien in meinem bin/Testing Ordner:

MyApplication (Testing).exe 
MyApplication (Testing).exe.config 
MyApplication (Debug).vshost.exe 
MyApplication (Debug).vshost.manifest 

Wie Sie sehen können, die vshost Dateien, die erzeugt werden, werden anders benannt, die Visual Studio bewirkt, dass das werfen folgende Fehlermeldung beim Debuggen versuchen:

Visual Studio nicht das Debuggen starten kann, weil der Test-Ziel 'D: \-Code \ MySolution \ MyApplication \ bin \ Testing \ MyApplication (Debug) .exe' fehlt. Erstellen Sie das Projekt und versuchen Sie es erneut, oder legen Sie die Eigenschaften OutputPath und AssemblyName so fest, dass sie auf die korrekte Position für die Zielbaugruppe zeigen.

Interessanterweise, wenn ich die AssemblyName der Debug Konfiguration MyApplication (Foo) ändern, dann werden die vhost Dateien im Ordner Testing werden auch MyApplication (Foo) umbenannt. So etwas zwingt die Verwendung meiner Debug Konfiguration auf meine Testing Konfiguration. Aber was?

Momentan kann ich es umgehen, indem ich die Anwendung starte und dann den Visual Studio Debugger anschließe, aber es verschwendet meine Zeit. Es ist auch kein Problem beim Erstellen des Installers, weil die vshost-Dateien einfach ignoriert werden.

Bisher war Google nicht wirklich hilfreich. Die meisten Suchergebnisse erklären, was eine vshost-Datei ist und wie sie funktioniert, aber das ist nicht das, was ich brauche. Ich muss wissen, warum die vshost-Dateien unterschiedlich benannt sind und wie ich das beheben kann.

Antwort

0

Eine andere Lösung kann die vshost Option deaktivieren:

Zum Projekt + Eigenschaften, Registerkarte Debuggen, deaktivieren Sie das "Aktivieren Sie den Visual Studio-Hosting-Prozess" -Option.

Verwandte Themen