Saya ingin tugas msbuild untuk mengkompilasi pandangan sehingga saya dapat melihat apakah ada kesalahan waktu kompilasi sekaligus ... waktu kompilasi. Ada ide?
Saya ingin tugas msbuild untuk mengkompilasi pandangan sehingga saya dapat melihat apakah ada kesalahan waktu kompilasi sekaligus ... waktu kompilasi. Ada ide?
Jawaban:
Terus terang saya akan merekomendasikan paket nuget RazorGenerator. Dengan cara itu pandangan Anda memiliki .designer.cs
file yang dihasilkan ketika Anda menyimpannya dan di atas mendapatkan kesalahan waktu kompilasi untuk pandangan Anda, mereka juga dikompilasi ke dalam perakitan (= pemanasan lebih cepat) dan Resharper menyediakan beberapa bantuan tambahan juga.
Untuk menggunakan ini termasuk paket nuget RazorGenerator di proyek ASP.NET MVC Anda dan instal ekstensi " Razor Generator " di bawah item di bawah Tools → Extensions and Updates .
Kami menggunakan ini dan overhead per kompilasi dengan pendekatan ini jauh lebih sedikit. Di atas ini saya mungkin akan merekomendasikan .NET Demon oleh RedGate yang selanjutnya mengurangi dampak waktu kompilasi secara substansial.
Semoga ini membantu.
Dari dokumen readme word untuk RC1 (tidak diindeks oleh google)
Langkah Post-Build Compiler ASP.NET
Saat ini, kesalahan dalam file tampilan tidak terdeteksi hingga waktu berjalan. Untuk memungkinkan Anda mendeteksi kesalahan ini pada waktu kompilasi, proyek ASP.NET MVC sekarang menyertakan properti MvcBuildViews, yang dinonaktifkan secara default. Untuk mengaktifkan properti ini, buka file proyek dan setel properti MvcBuildViews menjadi true, seperti yang ditunjukkan dalam contoh berikut:
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>
Catatan Mengaktifkan fitur ini menambahkan beberapa overhead ke waktu pembuatan.
Anda dapat memperbarui proyek yang dibuat dengan rilis MVC sebelumnya untuk menyertakan validasi tampilan build-time dengan melakukan langkah-langkah berikut:
<PropertyGroup>
:
<MvcBuildViews>true</MvcBuildViews>
<Target Name="AfterBuild">
elemen dan memodifikasinya agar sesuai dengan yang berikut:<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>
Anda dapat menggunakan aspnet_compiler untuk ini:
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
di mana " / Virtual / Aplikasi / Path / Atau / Path / In / IIS / Metabase " adalah sesuatu seperti ini: " / MyApp " atau " / lm / w3svc2 / 1 / root / "
Juga ada Tugas AspNetCompiler di MSDN, yang menunjukkan cara mengintegrasikan aspnet_compiler dengan 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>
Juga, jika Anda menggunakan Resharper, Anda dapat mengaktifkan Solution Wide Analysis dan itu akan mendeteksi kesalahan kompiler yang mungkin Anda miliki dalam file aspx. Itu yang kami lakukan ...
Rilis ASP.NET MVC berikutnya (tersedia pada bulan Januari atau lebih) harus memiliki tugas MSBuild yang mengkompilasi pandangan, jadi Anda mungkin ingin menunggu.
Lihat pengumuman
Jawaban yang diberikan di sini berfungsi untuk beberapa versi MVC tetapi tidak untuk yang lain.
Solusi sederhana bekerja untuk MVC1 tetapi pada peningkatan ke MVC2 pandangan tidak lagi dikompromikan. Ini karena bug dalam file proyek situs web. Lihat artikel Haacked ini.
Lihat ini: http://haacked.com/archive/2011/05/09/compiling-mvc-views-in-a-build-environment.aspx
Bangun> Jalankan Analisis Kode
Tombol pintas: Alt+F11
Membantu saya menangkap kesalahan Razor.
Menggunakan Ekstensi Daya Produktivitas Visual Studio ( gratis ) sedikit membantu . Secara khusus, Solution Error Visualizer
fitur. Dengannya, kompilasi kesalahan ditandai secara visual dalam solusi explorer (dalam file sumber tempat kesalahan ditemukan). Namun karena beberapa alasan, fitur ini tidak berfungsi seperti kesalahan lain di mana pun dalam kode.
Dengan tampilan MVC, setiap kesalahan waktu kompilasi akan tetap digarisbawahi dalam file .cs masing-masing, tetapi menandakan kesalahan ini tidak diperbanyak ke atas di Solution Explorer (sama sekali tidak, bahkan tidak dalam file sumber yang mengandung).
Terima kasih telah BlueClouds
mengoreksi pernyataan saya sebelumnya.
Saya baru saja melaporkan ini sebagai masalah pada proyek github ekstensi.