asp.net - visual - mvc add connection string




Compilare le viste in ASP.NET MVC (6)

È possibile utilizzare aspnet_compiler per questo:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -v /Virtual/Application/Path/Or/Path/In/IIS/Metabase -p C:\Path\To\Your\WebProject -f -errorstack C:\Where\To\Put\Compiled\Site

dove " / Virtual / Application / Path / Or / Path / In / IIS / Metabase " è qualcosa del tipo: " / MyApp " o " / lm / w3svc2 / 1 / root / "

Inoltre c'è un AspNetCompiler Task su MSDN, che mostra come integrare aspnet_compiler con MSBuild:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="PrecompileWeb">
        <AspNetCompiler
            VirtualPath="/MyWebSite"
            PhysicalPath="c:\inetpub\wwwroot\MyWebSite\"
            TargetPath="c:\precompiledweb\MyWebSite\"
            Force="true"
            Debug="true"
        />
    </Target>
</Project>

Voglio un'attività di msbuild per compilare le viste in modo da poter vedere se ci sono errori di compilazione nel tempo ... tempo di compilazione. Qualche idea?


Build> Esegui analisi del codice

Tasto di scelta rapida: Alt + F11

Mi ha aiutato a catturare errori Razor.


L'utilizzo dell'estensione di strumenti di produttività ( gratuita ) di Visual Studio aiuta un po ' . In particolare, la Solution Error Visualizer . Con esso, gli errori di compilazione contrassegnati visivamente in Solution Explorer (nel file di origine in cui è stato trovato l'errore). Per qualche ragione, tuttavia, questa funzione non funziona come con altri errori in nessun'altra parte del codice.

Con le visualizzazioni MVC, eventuali errori in fase di compilazione saranno ancora sottolineati in rosso nei loro rispettivi file .cs, ma la segnalazione di questi errori non viene propagata verso l'alto in Esplora soluzioni (in nessun modo, nemmeno nel file sorgente contenente).

Grazie per BlueClouds per aver corretto la mia dichiarazione precedente.

Ho appena segnalato questo come un issue sul progetto github dell'estensione.


La prossima versione di ASP.NET MVC (disponibile a gennaio o giù di lì) dovrebbe avere l'attività MSBuild che compila le viste, quindi potresti voler aspettare.

Vedi l' announcement


Dalla parola leggimi doc per RC1 (non indicizzato da google)

Passo Post-Build del compilatore ASP.NET

Attualmente, gli errori all'interno di un file di visualizzazione non vengono rilevati fino al runtime. Per consentire di rilevare questi errori in fase di compilazione, i progetti MVC di ASP.NET ora includono una proprietà MvcBuildViews, che è disabilitata per impostazione predefinita. Per abilitare questa proprietà, aprire il file di progetto e impostare la proprietà MvcBuildViews su true, come mostrato nell'esempio seguente:

<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <MvcBuildViews>true</MvcBuildViews>
  </PropertyGroup>

Nota L' attivazione di questa funzione aggiunge un sovraccarico al tempo di compilazione.

È possibile aggiornare i progetti che sono stati creati con versioni precedenti di MVC per includere la convalida delle viste in fase di creazione effettuando le seguenti operazioni:

  1. Apri il file di progetto in un editor di testo.
  2. Aggiungi il seguente elemento sotto l'elemento <PropertyGroup> più in alto: <MvcBuildViews>true</MvcBuildViews>
  3. Alla fine del file di progetto, decommentare l'elemento <Target Name="AfterBuild"> e modificarlo in modo che corrisponda al seguente:
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>

Consiglio sinceramente il pacchetto nuget RazorGenerator. In questo modo le tue viste hanno un file .designer.cs generato quando le salvi e oltre a ottenere errori di compilazione per le tue visualizzazioni, sono anche precompilate nell'assembly (= warmup più veloce) e Resharper fornisce anche un ulteriore aiuto.

Per utilizzarlo, includere il pacchetto nuget RazorGenerator nel progetto ASP.NET MVC e installare l'estensione " Razor Generator " sotto la voce Strumenti → Estensioni e aggiornamenti .

Usiamo questo e l'overhead per compilare con questo approccio è molto meno. Oltre a questo, probabilmente raccomanderei .NET Demon di RedGate che riduce ulteriormente l'impatto del tempo di compilazione in modo sostanziale.

Spero che questo ti aiuti.







msbuild