Publish-Profile veröffentlichen nicht die gewünschte Build-Konfiguration (.pubxml.user)

8

Stellen Sie sich das folgende Szenario vor:

  • Alice erstellt mithilfe von Visual Studio 2012 eine Webanwendung (ASP.NET MVC oder WebForms).
  • Alice erstellt ein Publish-Profil namens "PRODUCTION" und wählt auf der Registerkarte "Einstellungen" (im Publishing-Assistenten) die Konfiguration "Release".
  • Alice veröffentlicht die Anwendung mit dem Publish-Profil "PRODUCTION".
  • Alice speichert die Lösung in der Quellcodeverwaltung.

Beachten Sie, dass die Datei " *.pubxml.user " standardmäßig nicht in der Versionskontrolle enthalten ist: Ссылка

  • Bob überprüft die Lösung von der Quellcodeverwaltung.
  • Bob öffnet die Lösung und startet den Veröffentlichungsassistenten.
  • Bob sieht das ausgewählte Publish-Profil "PRODUCTION".
  • Bob klickt auf die Registerkarte Einstellungen (im Veröffentlichungsassistenten) und sieht, dass die angezeigte Konfiguration "Release" ist.
  • Bob veröffentlicht die Anwendung.
  • Bob erkennt, dass die Anwendung mit der Konfiguration "Debug" anstelle der Konfiguration "Release" veröffentlicht wurde.

Der Grund dafür ist, dass die Informationen über die Build-Konfiguration in der Datei " *.pubxml.user " gespeichert sind (Siehe Knoten namens <LastUsedBuildConfiguration> ).

Dieses Verhalten ist problematisch, insbesondere wenn Sie Webkonfigurationsumwandlungen ("Web.Release.config") verwenden, um Verbindungszeichenfolgen zu ändern.

= & gt; Wie kann ich dieses Problem beheben, wenn ich die Datei " *.pubxml.user " nicht in der Quellcodeverwaltung speichern möchte (weil diese Datei andere Informationen enthalten kann, die beispielsweise für ein öffentliches Repository ungeeignet sind)?

Ähnliche Artikel:

Ubikuity 21.03.2013, 16:41
quelle

2 Antworten

11

Es gibt zwei Aspekte dabei; Freigeben des Werts in der Dropdownliste für das Dialogfeld "Veröffentlichen" und Unterstützung für die Befehlszeile. Unten sind meine Kommentare zu beiden.

Profile mit Teammitgliedern teilen

Als wir die Veröffentlichungsbits in VS2012 RTM veröffentlichten, haben wir LastUseBuildConfiguraiton in die Datei .pubxml.user geschrieben. Wir haben das nun in die .pubxml-Datei selbst verschoben, damit sie mit anderen Teammitgliedern geteilt wird. Sie können den neuesten Build unter:

erhalten
  1. ASP.NET 2012.2
  2. Das neueste Azure SDK

Wenn Sie eines davon installiert haben und immer noch das Verhalten angezeigt wird, bei dem die Config nicht freigegeben wurde, liegt dies wahrscheinlich daran, dass die .pubxml mit einem älteren Drop erstellt wurde. Die Lösung besteht darin, die Dateien .pubxml und .pubxml.user zu löschen und sie erneut mit den neuesten zu erstellen.

Befehlszeilenszenarien

Für Befehlszeilenszenarien muss die Configuration-Eigenschaft explizit festgelegt werden. Die Datei .pubxml (oder .pubxml.user) kann diesen Wert nicht überschreiben. Weitere Informationen finden Sie in meinem Blog unter Ссылка .

    
Sayed Ibrahim Hashimi 21.03.2013, 19:04
quelle
0

Wenn Sie eine Sicherung dieses Projekts haben, müssen Sie sich keine Gedanken über diesen Fehler machen. Führen Sie einfach das Backup-Projekt in VS 2012 OR 2013 und öffnen Sie den Knoten von Property und dann veröffentlichen Profil-Ordner und die dann sehen Sie dort eine einzige Datei mit dem Namen "Ihr Projektname.xml" gehen Sie jetzt zu Lösung Explorer-Menü drücken Sie die Taste von "alle Dateien anzeigen" und Sie können eine andere Datei mit dem Namen "pubxml.user" sehen. Klicken Sie nun mit der rechten Maustaste auf das Profil veröffentlichen und klicken Sie auf die Option "Ordner im Datei-Explorer öffnen". Kopieren Sie nun die Datei und ersetzen Sie sie durch eine abgestürzte Datei.

Jetzt das Projekt neu erstellen und danach veröffentlichen.

Ich habe dieses Problem heute mit diesem Projekt Hajj und Umrah Project bekommen, jetzt können Sie sehen, dass es live ist.

    
Herry 24.06.2015 20:06
quelle