2008-12-07 66 views
9

我們爲什麼不使用編譯在asp.net mvc的觀點內嵌代碼錯誤,錯誤發現錯誤f.eks構建不會在asp.net的MVC查看

<h1><%= ViewData.Model.Title.Tostrig() %></h1> 

上面的代碼將建立公正精細。 webform控件中錯誤的拼寫會給你一個錯誤,所以我不明白爲什麼這不支持在asp.net mvc

編輯: 幸運的是,似乎有一個修復程序包括在第一個RC爲asp.net mvc http://weblogs.asp.net/scottgu/archive/2008/12/19/asp-net-mvc-design-gallery-and-upcoming-view-improvements-with-the-asp-net-mvc-release-candidate.aspx

回答

12

ASP.NET和ASP.NET MVC中的ASPX文件不是從Visual Studio IDE編譯的。正如你所指出的那樣,這往往是「誤報」的原因。

我經常將aspnet_compiler添加爲後期構建操作以查找這些錯誤。您將在構建過程中增加一些時間,但爲了等待您的應對,您應該能夠更輕鬆地發現這些錯誤。

12

從賈森的回答之後,這條線應該在大多數項目的工作:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -v/-p "$(ProjectDir)\" 

或爲.NET 4個項目:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler -v/-p "$(ProjectDir)\" 

來源 - Compiling aspx templates using aspnet_compiler

8

您需要做的就是在項目文件中將MvcBuildViews屬性更改爲true。

例如

<PropertyGroup> 
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> 
    <MvcBuildViews>true</MvcBuildViews> 
    </PropertyGroup>