Klicken Sie mit der rechten Maustaste auf Ihr Webprojekt im Projektmappen-Explorer. Klicken Sie auf Unload Project
. Klicken Sie mit der rechten Maustaste auf das Projekt und klicken Sie auf Edit <projname>.csproj
.
Stellen Sie sicher, dass Sie dieses Element haben (fügen Sie es hinzu, wenn es nicht existiert).
<Project>
<PropertyGroup>
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>
</Project>
Scrollen Sie nach unten. Sie sollten einen Kommentar sehen "Um Ihren Build-Prozess zu ändern, fügen Sie Ihre Aufgabe in eines der folgenden Ziele ein und entfernen Sie das Kommentarzeichen." Darunter, fügen Sie diese Markup:
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<ItemGroup>
<ExtraWebConfigs Include="$(BaseIntermediateOutputPath)\**\web.config" />
<ExtraPackageTmp Include="$([System.IO.Directory]::GetDirectories("$(BaseIntermediateOutputPath)", "PackageTmp", System.IO.SearchOption.AllDirectories))" />
</ItemGroup>
<Delete Files="@(ExtraWebConfigs)" />
<RemoveDir Directories="@(ExtraPackageTmp)" />
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
Schließen Sie die .csproj
Datei, dann rechts (der obige Code einen Elternteil der Wurzel <Project>
Knoten bei dem Kommentar, den ich erwähnte Sie nicht sehen soll) Klicken Sie im Projektmappen-Explorer auf Ihr Projekt und klicken Sie auf Reload Project
.
Dadurch werden Ihre Ansichten dem Kompilierungsschritt hinzugefügt und der Build wird angehalten, wenn Fehler gefunden werden. Ich fand das eine gute Sache, denn ohne sie merke ich manchmal Fehler in der Fehlerliste erst, wenn ich meine Seite bereitgestellt habe und sie dann manuell getroffen habe. Seien Sie gewarnt, es wird Ihrem Build-Schritt etwas Zeit geben und es erheblich verlangsamen. Je nachdem, was Sie erreichen möchten, können Sie es selektiv aktivieren/deaktivieren, um einen schnellen Build -> Test-Workflow zu erreichen.
Inspiration für diese Antwort wurde aus Chris Hynes Antwort auf MVCBuildViews not working correctly und Can Razor views be compiled? entnommen.
Verwenden Sie Resharper? – Ofiris
Nein, ich benutze es nicht. – vtortola
RazorGenerator ist viel besser zum Zusammenstellen von Ansichten. Ich würde darüber nachdenken, es zu wechseln: https://visualstudiogallery.msdn.microsoft.com/1f6ec6ff-e89b-4c47-8e79-d2d68df894ec und NUGET: https://www.nuget.org/packages/RazorGenerator.Mvc/ – mattytommo