2010-05-05 13 views
30

Gibt es eine Möglichkeit, ein Webprojekt in MS Visual Studio 2010 mithilfe von CLI zu veröffentlichen? Ich benutze DevEnv.exe/Build, um ein Projekt zu erstellen, und es funktioniert gut, aber ich konnte die Option zum Veröffentlichen eines Projekts nicht finden.Visual Studio. Projekt über die Befehlszeile veröffentlichen

Eine andere Sache möchte ich erwähnen. Ich versuche, Webprojekt nicht direkt auf den IIS zu veröffentlichen. Ich habe einen Standort, an dem ich mehrere Projekte veröffentliche und sie dann automatisch in das NSIS-Bundle zur Bereitstellung einbaute.

Antwort

22

Was funktioniert am besten folgende Ziel der Projektdatei hinzuzufügen:

<Target Name="AfterBuild"> 
    <Message Text="Copying to Deployment Dir:" /> 
    <Copy SourceFiles="@(Content)" DestinationFolder="..\XXX\%(Content.RelativeDir)" /> 
     <CreateItem Include="$(OutputPath)\*"> 
     <Output TaskParameter="Include" ItemName="Binaries"/> 
     </CreateItem> 
    <Copy SourceFiles="@(Binaries)" DestinationFolder="..\XXX\bin" /> 
</Target> 

Auf diese Weise, Wann immer ein Projekt erstellt wurde (von der Befehlszeile oder von der IDE), wird es automatisch im angegebenen Ordner bereitgestellt. Danke euch allen dafür, dass ihr mich in die richtige Richtung weist.

+0

Problem ich mit diesem ist, dass es sowohl Debug veröffentlicht und Release-Modi nicht? Das könnte ernsthafte Konsequenzen für eine Live-Site haben, wenn Ihre Debug-Konfiguration veröffentlicht wird. Stellen Sie sich vor, Sie benötigen einen CLI-Batch, der die folgenden Schritte ausführt: "Veröffentlichung und Veröffentlichung mit dieser Veröffentlichungseinstellung erstellen". –

+1

@RobKent können Sie Konfigurationsdatei-Transformationen einrichten, die Sie dann verwenden können, um das obige Verhalten nur für bestimmte Build-Konfigurationen auszulösen. Einfach google .net config transformiert. –

-2

MSBuild (was ich glaube Schiffe mit VS) eine Befehlszeilenoption veröffentlichen lautet:

msbuild /t:publish yourproject.csproj 
+0

wie es aussieht, überspringt mein Projekt Sprich: D: \ Dev \ Projekt> Msbuild/t: veröffentlichen "Project.csproj" Microsoft (R) Build Engine Version 3.5.30729.4926 [Microsoft .NET Framework, Version 2.0.50727.4927] Urheberrecht (C) Microsoft Corporation 2007. Alle Rechte vorbehalten. Build gestartet 5/5/2010 10:06:58 AM. Projekt "D: \ Dev \ Projekt \ Projekt.csproj" auf Knoten 0 (Ziel (e) veröffentlichen). Überspringbares Projekt überspringen. Erledigt Bauprojekt "D: \ Dev \ Project \ Project.csproj" (Ziel (e) veröffentlichen). Build erfolgreich. 0 Warnung (en) 0 Error (s) Abgelaufene Zeit 00: 00: 00.00 – sha

+0

Diese nur für Clickonce-Anwendungen ist – reggaeguitar

6

Die /t: veröffentlichen Schalter für Clickonce-Anwendungen sind nur, dann ist es nicht für Web-Projekte. Daher der Fehler, dass es nicht veröffentlichbar ist. :)

+3

Dies ist keine Antwort. – Gusdor

+0

@Gusdor Es war eine Antwort auf das OP, als es ursprünglich fragte, warum es einen Fehler gab, der sagte, dass die Lösung "nicht veröffentlichbar" sei. –

Verwandte Themen