Ich habe diesen Fehler für eine Weile erhalten, wenn ich devenv für einen automatischen Build verwende. Ich habe jede Website durchgesehen, die ich finden kann, und die üblichen Antworten erwähnen erfrischende Abhängigkeiten (von denen ich glaube, dass sie für die manuelle Bereitstellung, aber nicht für die automatische Bereitstellung behoben werden) und das Entfernen der Quellcodeverwaltung aus den Projekten, was mir nicht geholfen hat.
Der Fehler tritt nicht jedes Mal auf, wenn ich ihn erstelle, aber er scheint bei verschiedenen Bereitstellungsprojekten jedes Mal zufällig zu sein.
Hat jemand einen Rat, warum genau dieser Fehler auftritt und wie man ihn behebt?
elegant solution
) in gist, IMHO.Antworten:
Dies ist ein bekanntes Problem in Visual Studio 2010 (eine Racebedingung). Siehe dieses Verbindungselement .
Wir sind auch darauf gestoßen und hatten einen sehr unbefriedigenden Supportanruf zu diesem Problem bei Microsoft. Lange Rede, kurzer Sinn: Es ist ein bekanntes Problem, das nicht gelöst werden kann, und Microsoft empfiehlt, sich von Visual Studio Setup-Projekten (.vdproj) zu entfernen.
Wir haben dieses Problem umgangen, indem wir den MSI-Build ein zweites Mal ausgelöst haben, wenn er zum ersten Mal fehlschlägt. Nicht schön, aber es funktioniert meistens (die Fehlerrate ist von ~ 10% auf ~ 1% gesunken).
quelle
Update für diejenigen, die dieses Problem für VS2013 oder VS2015 nach dem Upgrade eines VS200X-Setup-Projekts mit der Erweiterung Microsoft Visual Studio Installer Projects erhalten haben.
Nach dem Rezept für v1.0.0.0 von MS hat es endlich für mich funktioniert:
Microsoft Visual Studio-Installationsprojekte
quelle
Update vom 14.06.2017
Die Microsoft Visual Studio 2017 Installer Projects-Erweiterung enthält jetzt ein Befehlszeilen-Hilfsprogramm, mit dem die Registrierungseinstellung für die Anwendung von Microsoft Visual Studio 2017 Installer Projects erheblich vereinfacht wird
Beispielpfade des Tools (basierend auf der installierten Version von Visual Studio)
Aus der README
Dieses einfache Tool soll Benutzern dabei helfen, den Registrierungsschlüssel festzulegen, der erforderlich ist, um diesen Fehler zu umgehen, der beim Erstellen von Installationsprojekten mithilfe von Befehlszeilen-Builds auftreten kann:
FEHLER: Beim Überprüfen ist ein Fehler aufgetreten. HRESULT = '8000000A'
Das Tool ist für Visual Studio 2017+ gedacht und legt diesen Registrierungsschlüssel für eine bestimmte installierte Visual Studio-Instanz für den aktuellen Benutzer fest. Wenn Sie dies für einen Build-Agenten festlegen, stellen Sie sicher, dass Sie das Benutzerkonto verwenden, das der Build verwendet.
Führen Sie die Hilfe "DisableOutOfProcBuild.exe" aus, um Details zur Verwendung zu erhalten.
quelle
Ich habe irgendwo online darüber gelesen und es so behoben (es wurde von jemandem vorgeschlagen) :
Löschen Sie diese Zeilen am Anfang der .vdproj-Datei:
Dieser Fehler hat mich nicht davon abgehalten, mein Projekt bereitzustellen, zu erstellen, zu debuggen (oder zu testen). Er hat mich nur geärgert. Und es kam auch dann zum Einsatz, wenn ich alle Projekte so eingestellt habe, dass sie in einer aktuellen Konfiguration erstellt werden und das Setup-Projekt nicht.
quelle
Permanente Lösung (+ für Baumaschinen)
Visual Studio 2017
Rufen Sie für VS 2017 die folgenden CMD-Skripts unter Ihrem Windows-Zielkonto auf:
Community Edition
Professional Edition
Enterprise Edition
TL; DR. Hinweise für Arme
DisableOutOfProcBuild.exe
, die von Microsoft angebotene Lösung, die ich für VS 2017 verwende.DisableOutOfProcBuild.exe
geht nicht davon aus, dass Sie es aus dem Installationsordner aufrufen . Sie können diese EXE-Datei also nicht kopieren. (Wenn Sie .vdproj erstellen möchten, müssen Sie übrigens VS installieren.)DisableOutOfProcBuild.exe
funktioniert nur, wenn das aktuelle CMD-Verzeichnis auf den Installationsort von DisableOutOfProcBuild.exe festgelegt ist.Als Beispiel für die VS Professional Edition müssen wir anrufen
Visual Studio 2015 und früher
von CMD für den aktuellen Windows-Benutzer
Für viele Menschen
HKEY_CURRENT_USER\..
funktioniert die Erstellung / Korrektur unter nicht immer oder dauerhaft.Beim Versuch, dies zu lösen, stellte ich fest, dass ich tatsächlich einen seltsamen Schlüssel unter HKEY_USERS erstellen / ändern muss
HKEY_USERS\S-1-5-xx-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxxxx-xxxxx\...\MSBuild
Ich habe aber auch festgestellt, dass, wenn ich eine CMD-Konsole
HKCU
mit dem vorgeschlagenen Fix verwendeREG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
, der Wert genau in diesen seltsamen Schlüssel HKEY_USERS \ S-1-5-xx-xxxxxxxxxx-xx ... geschrieben wird , nicht in den HKEY_CURRENT_USER .
Das funktioniert also von Anfang an und für immer. Verwenden Sie einfach die CMD-Konsole.
Solver für Build-Server
Andererseits funktioniert dieser Code immer für ein aktuelles Benutzerkonto, das ihn startet (aufgrund von HKEY_CURRENT_USER). Build-Server verwenden jedoch häufig dedizierte Konten oder ein lokales System usw.
Ich habe es auf meinen Build-Maschinen behoben, indem ich meinen Build-Aufgaben die folgende einfache Batch-Datei hinzugefügt habe (Jenkins, TeamCity, CruiseControl).
VS-2015 , VS-2013 , VS-2017-Community , VS-2017-Professional , VS-2017-Enterprise
quelle
Wie in den Kommentaren hier ausgeführt , müssen Sie für VS2017 das DWORD HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 15.0_ [IDKey] _Config \ MSBuild \ EnableOutOfProcBuild erstellen. Ersetzen Sie [IDKey] durch das ID-Suffix des vorhandenen 15.0-Unterschlüssels von VisualStudio .
Wenn Sie beispielsweise unter VisualStudio den Schlüssel "15.0_abcd1234" sehen, lautet dieser "15.0_abcd1234_Config".
quelle
Der Hotfix wird jetzt hier hochgeladen:
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=33186
Sie können hier darüber lesen:
http://connect.microsoft.com/VisualStudio/feedback/details/595632/inconsistent-hanging-with-devenv-2010
quelle
Ich habe dieses Problem festgestellt, nachdem ich mein Projekt auf einen anderen PC verschoben habe (VS 2010, mehrere Projekte in einer Lösung).
Mein Projekt wurde bereits auf dem Quellcomputer erstellt, aber nachdem ich es auf das Ziel kopiert hatte, konnte ich mein Setup-Projekt nicht erstellen und hatte diesen Fehler.
Ich habe den
/Debug
Ordner unter meinem Setup Project-Stammpfad geöffnet , es gabMyProject.msi
undsetup.exe
Dateien, ich habe sie gelöscht und mein Projekt erneut erstellt, es hat funktioniert. Hoffe, es funktioniert auch für einige Jungs.quelle
Das Überprüfen der Projektabhängigkeiten kann hilfreich sein.
Klicken Sie in VS 2010 mit der rechten Maustaste in Ihren Lösungs-Explorer und dann auf Erkannte Abhängigkeiten und Abhängigkeiten aktualisieren. Das Problem wird manchmal behoben.
quelle
Ich verwende VS 2017, aber keine der oben genannten Lösungen funktioniert. Aktualisieren Sie also die neueste Version von VS 2017 und wenden Sie die @ AussieAsh-Lösung an.
Ich hoffe diese Lösung kann jemand funktionieren.
quelle
bei mir wurde es durch eine falsche .suo datei verursacht. (verursacht durch skydrive) Das Löschen dieser Datei löste das Problem.
quelle
Visual Studio 2017 speichert die zuvor in der öffentlichen Registrierung gespeicherten Informationen in einer neuen privaten Registrierung: C: \ Benutzer \\ AppData \ Local \ Microsoft \ VisualStudio \ 15.0_6de65198 \ privateregistry.bin
Hier müssen Sie EnableOutOfProcBuild gemäß den Anweisungen für VS2013 / VS2015 hinzufügen.
Um die private Registrierung zu aktualisieren, können Sie Regedit verwenden.
Klicken Sie, um den Knoten HKEY_USERS auszuwählen.
Wählen Sie Datei> Hive laden und navigieren Sie zur Datei privateregistry.bin. Wenn Sie es auswählen, fragt Regedit nach einem Namen - es spielt keine Rolle, wie Sie es nennen, da wir bald fertig sind.
Nun wird die Registrierungsstruktur angezeigt und Sie können zu Microsoft \ VisualStudio \ 15.0_Config \ MSBuild navigieren
Erstellen Sie ein neues DWORD EnableOutOfProcBuild mit dem Wert 0.
Wenn Sie fertig sind, wählen Sie das Stammverzeichnis des Hives aus (wie auch immer Sie es zuvor genannt haben) und verwenden Sie Datei> Hive entladen, um sich von ihm zu trennen.
Jetzt sollte es funktionieren: o)
quelle
Mein Visual Studio 2013 wurde irgendwie experimentell, sodass ein anderer Registrierungsschlüssel für EnableOutOfProcBuild verwendet wurde
Um sicherzugehen, dass ich gerade eine weitere Zeile in meine Batchdatei zum Festlegen des Registrierungswerts eingefügt habe und es funktioniert hat:
quelle
Führen Sie einfach diese Exe aus
(Visual Studio 2017 Community Edition)
C: \ Programme (x86) \ Microsoft Visual Studio \ 2017 \ Community \ Common7 \ IDE \ CommonExtensions \ Microsoft \ VSI \ DisableOutOfProcBuild \ DisableOutOfProcBuild.exe
(Visual Studio 2017 Enterprise Edition)
C: \ Programme (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ CommonExtensions \ Microsoft \ VSI \ DisableOutOfProcBuild \ DisableOutOfProcBuild.exe
quelle
Okay, ich habe mich mit diesem Thema befasst, bis ich blau im Gesicht war, rot im Gesicht, meine Haare und meinen Verstand verloren und jeden Schritt ausprobiert, den ich finden konnte. :-D
Meine Lösung für Visual Studio 2017 / TeamCity war eine Kombination der beiden Lösungen von @ it3xl und einige Unterstützung von @ Night94 .
Das Problem schien zu sein, dass der Registrierungsschlüssel für den TeamCity-Benutzer fehlte.
DisableOutOfProcBuild.exe
wie von @AussieAsh erwähnt funktionierte daher nicht, da der Registrierungsschlüssel nur für meinen Benutzer hinzugefügt wurde.Die Lösung bestand daher darin, Folgendes als Befehlszeilenerstellungsschritt von TeamCity vor MSBuild hinzuzufügen:
Sobald dieser Schritt ausgeführt wurde, kann er bei Bedarf entfernt werden.
Lösungsübersicht
Entweder:
DisableOutOfProcBuild.exe
als Teamcity Benutzer oderHKCU\SOFTWARE\Microsoft\VisualStudio
überprüfen Sie die aufgelistete Version und ändern Sie die obigenREG ADD
Versionen_Config
als Schritt im TeamCity-Build , um sie an die Versionen anzupassen (denken Sie daran, sie hinzuzufügen ).Auch hier sollte das oben genannte nur einmal durchgeführt werden müssen. Sie können das Betreten von TeamCity deaktivieren und es als Referenz belassen, falls Sie erneut auf das Problem stoßen.
quelle
Schritt 1 Ich habe einen DWORD-Schlüssel mit dem Namen " EnableOutOfProcBuild " erstellt und seinen Wert im folgenden Pfad auf " 0 " gesetzt
Hinweis: Stellen Sie sicher, dass Sie sich mit demselben Benutzer angemeldet haben, mit dem Sie das Projekt erstellen möchten
Es funktioniert gut für mich.
quelle
Wenn dieses Problem heute aufgetreten ist, starten Sie Visual Studio neu. Wenn dies nicht der Fall ist, erstellen Sie ein neues Projekt, speichern Sie es und kopieren Sie die Dateien aus dem Problemprojekt erneut. Beide Methoden haben bei mir funktioniert.
quelle
Bitte reinigen Sie zuerst die Lösung, erstellen Sie die Lösung und versuchen Sie dann, das Installationsprogramm zu erstellen. Der Fehler wird behoben.
quelle