Frage

Nach MSbuild hat meine Lösung gebaut (mit einer asp.net Website) und das WebDeployment Projekt erbaut und die Website in dem Verzeichnis _PublishedWebsites:

c:. \ Mybuilds \ buildName \ Daily_20090519.3 \ Release_PublishedWebsites \ MyWebSite

Wie kopiere ich dies mit dem festen Verzeichnis, in dem Punkt für den Test Webseite IIS?

Ich habe eine Menge Code-Schnipsel gefunden, aber ich kann nicht scheinen, einen zu finden, dass dieses Verzeichnis Namensänderung die Tatsache Rechnung nehmen.

War es hilfreich?

Lösung

Das ist ziemlich einfach. Sie können das Projekt bearbeiten und etwas ähnlich dem folgenden Text einfügen.

<PropertyGroup>
  <OutputDest>$(MSBuildProjectDirectory)\..\OutputCopy\</OutputDest>
</PropertyGroup>
<Target Name="AfterBuild">
  <!-- Create an item with all the output files -->
  <ItemGroup>
    <_OutputFiles Include="$(OutputPath)**\*" Exclude="$(OutputPath)obj\**\*" />
  </ItemGroup>
  <!-- You probably don't want to include the files in the obj folder so exclude them. -->

  <Message Text="OutputDest : $(OutputDest)" />
  <Copy SourceFiles="@(_OutputFiles)"
        DestinationFiles="@(_OutputFiles->'$(OutputDest)%(RecursiveDir)%(Filename)%(Extension)')"/>
</Target>

Ist das, was Sie suchen?

My Book: Innerhalb der Microsoft Build Engine: Mit MSBuild und Team Foundation Build

Andere Tipps

Ich verwende andere Technik.

<PropertyGroup>
    <BinariesRoot>c:\BinariesForIis\</BinariesRoot>
</PropertyGroup>

Die c:\BinariesForIis\ wird für die direkte Ausgabe kompilierten Binärdateien verwendet werden (vor dem Kopieren ...\Daily_20090519.3\Release_ ...).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top