Zastanawiam się, czy można uzyskać widoki Razora, takie jak widoki oparte na WebForm?Czy można tworzyć widoki Razor?
Czy ma sens nawet kompilacja widoków Razor i dlaczego ktoś chciałby to zrobić?
Zastanawiam się, czy można uzyskać widoki Razora, takie jak widoki oparte na WebForm?Czy można tworzyć widoki Razor?
Czy ma sens nawet kompilacja widoków Razor i dlaczego ktoś chciałby to zrobić?
Tak, możesz. Zajrzyj do następującego posta: Compile your asp.net mvc Razor views into a seperate dll
To "krok po kroku" przewodnik, w jaki sposób skompilować swoje widoki maszynki do oddzielnej biblioteki dll. Nie wiem, czy to masz zamiar zrobić, ale na pewno doprowadzi cię to we właściwym kierunku.
Ta odpowiedź jest już nieaktualna. Powinieneś teraz odnieść się do tego posta: http://blog.davidebbo.com /2011/06/precompile-your-mvc-views-using.html – Quango
Tak, jest to możliwe. W rzeczywistości najlepszym przykładem, jaki mógłbym wymyślić, byłyby szablony wysyłające szablony. Jeśli kompilujesz i buforujesz szablon, możesz szybko oderwać e-maile bez konieczności przechodzenia przez kolejne etapy analizy.
To dobry przykład użycia maszynki Razor również poza MVC.
Edit:
Oto blogu na ten temat, a także:
How to Detect Errors of Our ASP.NET MVC Views on Compile Time
Aby uczynić swoje poglądy, które są opracowywane, wykonaj następujące czynności;
zobacz poniższy kod;
<!--There some lines of code here and I deleted them to get to the point quickly-->
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<MvcBuildViews>false</MvcBuildViews>
zmienić MvcBuildViews wartości zmiennych z false
do true
potem zapisać go i załaduj swój projekt .
po zbudowaniu rozwiązania do kompilacji, zobaczysz, że Twój widok zostanie również skompilowany.
UWAGA:, aby to przetestować, złamać kod w jednym z widoków celu i spróbować zbudować. zobaczysz, że dostaniesz komunikat o błędzie.
Spróbuję i zobaczę co się stanie. –
to powinno zadziałało. próbowałeś tego? – tugberk
Po tej zmianie zacząłem otrzymywać komunikat o błędzie '" allowDefinition = 'MachineToApplication' poza poziom aplikacji "' podczas budowania mojego rozwiązania. Rozwiązaniem było uruchomienie _Clean Solution_ w * obu trybach * debugowania i wydania. –
Kontrola MvcBuildViews jest doskonała, ale dodaje karę 5-10 sekund za zbudowanie aplikacji internetowej, jeśli jest wystarczająco złożona. Nie buforuje danych wyjściowych kompilacji, więc za każdym razem wykonuje pełną kompilację wszystkich widoków.
znalazłem piękny kompromis postępując zgodnie z above advice i dodanie atrybutu Stan:
<MvcBuildViews Condition=" '$(Configuration)' == 'Release' ">true</MvcBuildViews>
my spodziewamy ReSharper do flaga się jakieś błędy w widokach i tak deweloper zawsze można zbudować w konfiguracji uwalnianiu jako test - mamy skrypt "preflight" uruchamiany przez programistów, aby mogli łatwo upewnić się, że cele pakietów działają i tak dalej - a jeśli wszystko to zawiedzie, serwer budowania go złapie.
Może ta sztuczka jest oczywiste, ale ja tylko naprawdę rozpoczął naukę o msbuild prawidłowo, w przeciwieństwie do pisania skryptów PowerShell dla tych zadań. Mam nadzieję, że jest to pomocne dla kogoś.
To czysty blask :) – Korayem
Technicznie rzecz biorąc, są one kompilowane z kompilatora just in time. Można również włączyć budowanie widoków, aby nie powieść kompilacji za pomocą pola wyboru. –
Powiązane: http://stackoverflow.com/questions/383192/compile-views-in-asp-net-mvc –