Pregunta

Después de MSBUILD ha construido mi solución (con un sitio web asp.net), y el proyecto webdeployment ha construido y puesto en el sitio web de los _PublishedWebsites directorio:

c: \. Mybuilds \ BUILDNAME \ Daily_20090519.3 \ Release_PublishedWebsites \ mywebsite

¿Cómo copio esta en el directorio fijo donde IIS puntos de prueba para el sitio web?

He encontrado un montón de fragmentos de código, pero me parece que no puede encontrar uno que tener en cuenta el hecho de que este cambio de nombre de directorio.

¿Fue útil?

Solución

Esto es bastante fácil. Puede editar el proyecto e insertar algo similar a lo siguiente.

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

¿Es esto lo que busca?

My Book: Dentro de la fabricación de los motores de Microsoft: El uso de MSBuild y Team Foundation Build

Otros consejos

Estoy usando técnica diferente.

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

El c:\BinariesForIis\ será utilizada para los binarios de salida compilado directos (antes de copia a ...\Daily_20090519.3\Release_ ...).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top