2017-01-10 3 views
1

私はwebformsからmvc 5にプロジェクトをアップグレードしています。Visual Studioはいくつかのかみそりの構文を認識しません

このソリューションにはさまざまなプロジェクトがあります。コントローラーとモデルが存在する場所。 1つはカスタムMVC実装(viewengine、controllerfactory、routing)、もう1つはrazorviewsです。

VS15は、いくつかのかみそりの構文を認識しないということです。 ViewBagはうまくいき、@ Model ClassNameが機能します。 BeginForm()はパラメータなしで動作します。 clearifyするには、VS15は、このように有効な構文を受け付けます

@model User 
@{ 
    ViewBag.Title = "Test"; 
} 

@using(Html.BeginForm()) 
{ 
    @Html.Editor(Model.Name) 
} 

そして、この無効:

@using(Html.BeginForm("test", "mvc", FormMethod.Post)) 
{ 
    @Html.EditorFor(model => model.Name) 
} 

Html.BeginFormの場合:「RouteValueDictionaryの主張を入力する

リファレンスことがあります'System.Web'で定義されていますが、見つかりませんでした。

そしてHtml.EditorForのための 'のFunc <を、>' と入力する

リファレンスは、それが 'mscorlib' で定義されたと主張し、それが見つかりませんでした。

lamdba:

特集 'ラムダ式は、' 言語バージョン3以降を使用してくださいC#の2には使用できません。私は、アプリケーションを実行すると

プロジェクトはC#6

コードを使用していますが有効です。不思議誰のため

<configSections> 
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
     <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.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=5.2.3.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> 

    <system.web> 
    <compilation targetFramework="4.6"> 
     <assemblies> 
     <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
     <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
     <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
     </assemblies> 
    </compilation> 
    </system.web> 
+0

は、プロジェクトのプロパティを見てみましょう。プロジェクト>プロパティを右クリックします。私はMVC 5とVS15を使用し、問題はありません。再起動してください。あなたのプロジェクトではおそらく設定が悪いかもしれません。 – Alexis

+0

はいそれは4.6をターゲットにしています。出力タイプはクラスライブラリですが、これはrazorviewsビューとwebformsビューのみを含むプロジェクトであるためです。 – Sebastian

答えて

関連する問題