Я хочу, щоб завдання msbuild збирало представлення даних, щоб я міг бачити, чи є помилки часу компіляції на добре ... час компіляції. Будь-які ідеї?
Я хочу, щоб завдання msbuild збирало представлення даних, щоб я міг бачити, чи є помилки часу компіляції на добре ... час компіляції. Будь-які ідеї?
Відповіді:
Я відверто рекомендував би нут-пакет RazorGenerator. Таким чином, у ваших представленнях створюється .designer.cs
файл, створений під час їх збереження, і, крім того, отримувати помилки часу компіляції для ваших переглядів, вони також попередньо компілюються у збірку (= швидше розминка), і Resharper також надає додаткову допомогу.
Щоб скористатися цією функцією, включіть пакет Nuget RazorGenerator у проект ASP.NET MVC та встановіть розширення " Генератор Razor " під пунктом у розділі Інструменти → Розширення та оновлення .
Ми використовуємо це, і накладні витрати на компіляцію при такому підході набагато менше. Крім цього, я б, напевно, рекомендував .NET Demon від RedGate, що ще більше зменшує вплив часу на компіляцію.
Сподіваюсь, це допомагає.
З слова readme doc для RC1 (не індексується google)
Крок після збирання ASP.NET компілятора
Наразі помилки у файлі перегляду не виявляються до часу запуску. Щоб ви могли виявити ці помилки під час компіляції, проекти ASP.NET MVC тепер включають властивість MvcBuildViews, яке за замовчуванням вимкнено. Щоб увімкнути цю властивість, відкрийте файл проекту та встановіть для властивості MvcBuildViews значення true, як показано в наступному прикладі:
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>
Примітка Увімкнення цієї функції додає деяку накладну витрату на час збирання.
Ви можете оновити проекти, створені за допомогою попередніх випусків MVC, щоб включити перевірку переглядів у збірному часі, виконавши наступні кроки:
<PropertyGroup>
елемент:
<MvcBuildViews>true</MvcBuildViews>
<Target Name="AfterBuild">
елемент та змініть його таким чином:<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>
Для цього ви можете використовувати aspnet_compiler :
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
де " / Virtual / Application / Path / Or / Path / In / IIS / Metabase " є приблизно таким: " / MyApp " або " / lm / w3svc2 / 1 / root / "
Також є завдання AspNetCompiler на MSDN, яка показує, як інтегрувати aspnet_compiler з 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>
Крім того, якщо ви використовуєте Resharper, ви можете активувати Solution Wide Analysis, і він виявить будь-які помилки компілятора, які можуть виникнути у файлах aspx. Це те, що ми робимо ...
Наступний реліз ASP.NET MVC (доступний у січні або близько того) повинен мати завдання MSBuild, яке збирає перегляди, тож ви можете зачекати.
Дивіться оголошення
Відповідь, надана тут, працює для деяких версій MVC, але не для інших.
Просте рішення працювало для MVC1, але при переході до MVC2 погляди більше не виконувались. Це сталося через помилку у файлах проекту веб-сайту. Дивіться цю статтю про злому.
Дивіться це: http://haacked.com/archive/2011/05/09/compiling-mvc-views-in-a-build-environment.aspx
Збірка> Запуск аналізу коду
AltКлавіша швидкого доступу: +F11
Допоміг мені зрозуміти помилки бритви.
Використання розширення Visual Studio Productivity Power Tools ( безкоштовно ) трохи допомагає . Зокрема, Solution Error Visualizer
особливість. З його допомогою помилки компіляції візуально позначені в провіднику рішень (у вихідному файлі, де виявлена помилка). Однак чомусь ця функція не працює, як і при інших помилках деінде в коді.
З переглядами MVC будь-які помилки часу компіляції все ще будуть підкреслені червоним кольором у відповідних файлах .cs, але сигналізація про ці помилки не розповсюджується вгору в Провіднику рішень (жодним чином, навіть не у файлі, що містить вихідний файл).
Дякуємо, що BlueClouds
виправили мою попередню заяву.
Я щойно повідомляв про це як проблему щодо проекту github розширення.