Problemi di precompilazione automatica del sito Web con MSbuild
Domanda
Tutti,
Al momento ho la mia soluzione che comprende librerie di 2 classi e un sito Web all'interno di teamCity usando Msbuild. Ora voglio precompilare il sito Web e renderlo disponibile come artefatto. Tuttavia, quando provo a precompilarlo usando
<Target Name="PrecompileWeb" DependsOnTargets="Build">
<AspNetCompiler
PhysicalPath="$(BuildDir)\Location\"
TargetPath="$(BuildDir)\Publish"
Force="true"
Debug="true"
/>
</Target>
Ricevo un errore perché è alla ricerca di un percorso virtuale (che non ho come tutto ciò che voglio fare precompila i file che non mi interessano pubblicare il sito) se inserisco un percorso fittizio in ottengo un altro errore (corretto) sul fatto che non si tratta di un'applicazione in IIS
Qualsiasi idea
Soluzione
È un sito Web o un progetto di applicazione Web? Se quest'ultimo, anziché eseguire un'attività AspNetCompiler, esegue un'attività MSBuild nel file csproj / vbproj, chiamando le destinazioni Rebuild; ResolveReferences; _CopyWebApplication
e specificando la proprietà OutDir
.
Se si utilizza un sito Web, specificare VirtualPath come percorso IIS valido. Ciò che sta accadendo è che, quando non si specifica la proprietà VirtualPath, tenta di risolverlo utilizzando PhysicalPath e IIS. Credo che sia solo un artefatto di come funziona AspNetCompiler.
Altri suggerimenti
Non sono sicuro che funzionerà in quanto ciò accadrà su ogni build? Voglio farlo solo quando eseguo la build su Server TeamCity non build locali.
Essenzialmente, attualmente
Crea tutte le soluzioni richieste Eseguire i test unitari Crea la cartella Zip per l'artefatto
Saluti