Ben de derleme zamanı hataları olup olmadığını görmek için görünümleri derlemek için msbuild görev istiyorum ... derleme zamanı. Herhangi bir fikir?
Ben de derleme zamanı hataları olup olmadığını görmek için görünümleri derlemek için msbuild görev istiyorum ... derleme zamanı. Herhangi bir fikir?
Yanıtlar:
Açıkçası RazorGenerator nuget paketini tavsiye ederim . Bu şekilde, görünümleriniz .designer.cs
kaydettiğinizde oluşturulan bir dosyaya sahip olur ve görünümleriniz için derleme zamanı hataları almanın yanı sıra, bunlar da derlemeye önceden derlenir (= daha hızlı ısınma) ve Resharper da ek yardım sağlar.
Bunu kullanmak için ASP.NET MVC projenizdeki RazorGenerator nuget paketini ekleyin ve Araçlar → Uzantılar ve Güncellemeler altındaki öğe altında " Razor Generator " uzantısını yükleyin .
Bunu kullanıyoruz ve bu yaklaşımla derleme başına ek yük çok daha az. Bunun üzerine muhtemelen derleme süresi etkisini önemli ölçüde azaltan .NET Demon by RedGate öneriyoruz .
Bu yardımcı olur umarım.
RC1 için benioku kelimesi doc'den (google tarafından dizine eklenmemiş)
ASP.NET Derleyici Yapım Sonrası Adım
Şu anda, bir görüntüleme dosyasındaki hatalar çalışma zamanına kadar algılanmıyor. Derleme zamanında bu hataları algılamanıza izin vermek için, ASP.NET MVC projeleri artık varsayılan olarak devre dışı bırakılmış bir MvcBuildViews özelliği içerir. Bu özelliği etkinleştirmek için, proje dosyasını açın ve MvcBuildViews özelliğini aşağıdaki örnekte gösterildiği gibi true olarak ayarlayın:
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>
Not Bu özelliğin etkinleştirilmesi, oluşturma süresine bir miktar ek yük ekler.
MVC'nin önceki sürümleriyle oluşturulan projeleri, aşağıdaki adımları uygulayarak görünümlerin oluşturma zamanı doğrulamasını içerecek şekilde güncelleyebilirsiniz:
<PropertyGroup>
:
<MvcBuildViews>true</MvcBuildViews>
<Target Name="AfterBuild">
öğeyi açın ve aşağıdakilerle eşleşecek şekilde değiştirin:<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>
Bunun için aspnet_compiler kullanabilirsiniz :
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
burada " / Sanal / Uygulama / Yol / Veya / Yol / In / IIS / Metabase " şöyle bir şeydir: " / Uygulamam " veya " / lm / w3svc2 / 1 / root / "
Ayrıca MSDN'de aspnet_compiler'ın MSBuild ile nasıl entegre edileceğini gösteren bir AspNetCompiler Görevi vardır :
<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>
Ayrıca Resharper kullanıyorsanız, Solution Wide Analysis'i etkinleştirebilirsiniz ve aspx dosyalarında olabilecek derleyici hatalarını algılar. Bizim yaptığımız şey bu...
Burada verilen cevap bazı MVC sürümleri için geçerlidir, diğerleri için geçerli değildir.
Basit çözüm MVC1 için işe yaradı, ancak MVC2'ye yükseltildiğinde görünümler artık toplanmıyordu. Bu, web sitesi proje dosyalarındaki bir hatadan kaynaklandı. Bu Haacked makalesine bakın.
Şuna bakın: http://haacked.com/archive/2011/05/09/compiling-mvc-views-in-a-build-environment.aspx
Oluştur> Kod Analizini Çalıştır
Kısayol tuşu: Alt+F11
Razor hatalarını yakalamama yardımcı oldu.
Visual Studio'nun Productivity Power Tools ( ücretsiz ) uzantısını kullanmak biraz yardımcı olur . Özellikle, Solution Error Visualizer
özellik. Bununla birlikte, derleme hataları çözüm gezgininde görsel olarak işaretlendi (hatanın bulunduğu kaynak dosyada). Bununla birlikte, bazı nedenlerden dolayı, bu özellik kodun başka bir yerinde diğer hatalarda olduğu gibi çalışmaz.
MVC görünümlerinde, derleme zamanı hatalarının ilgili .cs dosyalarında hala kırmızı ile altı çizilir, ancak bu hataların bildirilmesi Çözüm Gezgini'nde yukarı doğru yayılmaz (hiçbir şekilde, içerilen kaynak dosyada olmasa bile).
BlueClouds
Önceki beyanımı düzelttiğiniz için teşekkürler .
Bunu , uzantının github projesinde bir sorun olarak bildirdim .