Question

Après msbuild a construit ma solution (avec un site asp.net), et le projet webdeployment a construit et mis le site dans le répertoire _PublishedWebsites:

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

Comment puis-je copier dans le répertoire fixe où IIS points pour le site de test?

J'ai trouvé des charges extraits de code, mais je ne peux pas sembler trouver un qui prendra en compte le fait que ce changement de nom de répertoire.

Était-ce utile?

La solution

Ceci est assez facile. Vous pouvez modifier le projet et insérer quelque chose de similaire à ce qui suit.

<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>

Est-ce que vous cherchez?

Mon livre: A l'intérieur du Microsoft Construire Engine: Utilisation de la Fondation MSBuild et l'équipe de construction

Autres conseils

J'utilise différentes techniques.

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

Le c:\BinariesForIis\ sera utilisé pour la sortie directe des fichiers binaires compilés (avant copie ...\Daily_20090519.3\Release_ ...).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top