Domanda

Ho un'applicazione ASP.NET che si basa su un assembly esterno che non è nel GAC. L'applicazione ha un file refresh che copia il montaggio nella directory bin quando l'applicazione viene compilato.

Quando si installa l'applicazione su un server di produzione (copiando i file app in una directory virtuale), la directory bin non viene aggiornata automaticamente dalla presenza del file di refresh, come ho pensato che sarebbe. Ho provato ad utilizzare lo strumento aspnet_compiler, ma che non funziona in quanto si aspetta che le assemblee di essere nella directory bin già.

Come faccio ad avere .NET per aggiornare directory bin della app senza Visual Studio?

È stato utile?

Soluzione

I file .Refresh sono solo lì in modo che VS sa che deve tenere traccia degli originali, e se sono cambiati, copiare una nuova versione nella cartella / bin. Sono solo file di testo con un percorso a quello originale -. La data di modifica viene utilizzato per il confronto

quando si dice:

  

Quando si installa l'applicazione su un server di produzione (copiando i file app in una directory virtuale), la directory bin non viene aggiornata automaticamente.

Che cosa vuoi dire? Non sei anche copiando il contenuto della directory bin sul server di produzione? Sarà necessario distribuire eventuali assembly dipendenti con l'applicazione.

Altri suggerimenti

Cancellazione della directory della cache di asp.net potrebbe aiutare:

C:\WINDOWS\Microsoft.NET\Framework\
FRAMEWORK_VERSION\Temporary ASP.NET Files\YOUR_APP_NAME

Elimina i file .Refresh.

Fare un semplice script di build (usando quello che vuoi cmd, Nant, Rastrello, psake ...) che:

  • copia quei file nella cartella asp.net app
  • si costruire app asp.net.

In alternativa, è possibile modificare il file .csproj e aggiungere qualcosa come:

<ProjectExtensions>
  <PropertyGroup>
    <PreBuildEvent>copy c:\path\to\dll\files $(ProjectDir)$(OutDir)</PreBuildEvent>
  </PropertyGroup>
</ProjectExtensions>

Questo aggiungerà un'azione di generazione preliminare che copiare i file dll al dir uscita del asp.net app. Dovrete costruire con MsBuild

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top