2011-04-26 20 views
0

我將MVC 2項目升級到MVC 3.它目前是一個小項目,我只有一個控制器和一些視圖。有Razor Views問題的升級MVC3項目

然而,當我試圖創建一個使用剃刀一個新的觀點,我也遇到了一些問題:

1)即使指定一個強類型的視圖,並創建了

@model IEnumerable<AcmeProject.SomeObject> 

我仍然得到錯誤驗證(XHTML 1.0傳統):元素'AcmeProject.SomeObject'不支持。

2)CS0103: 'ViewBag' 名稱不在當前上下文

<head> 
    <title>@ViewBag.Title</title> 
</head> 

這存在是簡單的佈局視圖

3)(不再是一個問題)最初的引用,我得到的錯誤約我有問題Razor視圖的@model第一線,我有以下添加到視圖/ web.config文件:

<configSections> 
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
    <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
</sectionGroup> 
</configSections> 

<system.web.webPages.razor> 
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
<pages pageBaseType="System.Web.Mvc.WebViewPage"> 
    <namespaces> 
    <add namespace="System.Web.Mvc" /> 
    <add namespace="System.Web.Mvc.Ajax" /> 
    <add namespace="System.Web.Mvc.Html" /> 
    <add namespace="System.Web.Routing" /> 
    </namespaces> 
</pages> 
</system.web.webPages.razor> 

我不知道怎麼樣解決#1和#2問題,並且在嘗試我在搜索中遇到的一些解決方案時未能成功。但是,我也擔心我會繼續遇到問題,因爲這是升級。和電腦一樣,升級是魔鬼的遊樂場。我只需要創建一個新項目並將我的文件遷移到它?

回答

2

請確保您已遵循steps outlined in the release notes關於將ASP.NET MVC 2項目升級到ASP.NET MVC 3.還有一個ASP.NET MVC 3 upgrade tool您可以嘗試。

+0

嗯,我沒有通過ASP版本註釋步驟來升級。不過,我剛剛使用了您指出的轉換工具,將其重新應用於升級之前的備份,並且必須進行一些我原本並未解決問題的更改。 – pghtech 2011-04-26 20:05:22