新しくインストールしたVisualStudioExpress2012RCでMVC3ソリューションを開こうとしています。これまでのところ、何らかの理由でVS2012がプロジェクトがMVCプロジェクトであることを認識しないため、ビュー/コントローラーが追加されないという問題が発生しました。ソリューション内の各プロジェクトのファイルのProjectTypeGuids
ノードに次のGUIDを追加することで、これを乗り越えました。.csproj
{E53F8FEA-EAE0-44A6-8774-FFD645390401}
ただし、カミソリビューを開くと、(他の関連するエラーの中でも)次のエラーが表示されます。
Error 20 The name 'model' does not exist in the current context c:\Users\willem\Documents\Visual Studio 2010\Projects\000-Orchard Development\src\Orchard.Web\Modules\EventManagement\Views\EditorTemplates\Parts\Event.cshtml 2 2 EventManagement
Error 21 The name 'T' does not exist in the current context c:\Users\willem\Documents\Visual Studio 2010\Projects\000-Orchard Development\src\Orchard.Web\Modules\EventManagement\Views\EditorTemplates\Parts\Event.cshtml 5 14 EventManagement
Error 22 'System.Web.WebPages.Html.HtmlHelper' does not contain a definition for 'LabelFor' and no extension method 'LabelFor' accepting a first argument of type 'System.Web.WebPages.Html.HtmlHelper' could be found (are you missing a using directive or an assembly reference?) c:\Users\willem\Documents\Visual Studio 2010\Projects\000-Orchard Development\src\Orchard.Web\Modules\EventManagement\Views\EditorTemplates\Parts\Event.cshtml 6 11 EventManagement
Intellisenseはかみそりのビューで動作していますが、Htmlヘルパーメソッドのフィールドの数は限られています。たとえば、LabelForやTextboxForのようなモデル固有のメソッドはありません。
MVC3と4をインストールしています。このソリューションはVS2010で正常に機能しました。
アップデート:
VS2012で新しいMVC3プロジェクトを追加すると、正常に機能します。つまり、それは間違いなくプロジェクトと関係があり、インストールとは関係がないということです。
更新2: 問題は、ビューがルート構成で参照されているライブラリにアクセスできないことだと思います。
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<pages pageBaseType="Orchard.Mvc.ViewEngines.Razor.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" />
<add namespace="System.Linq"/>
<add namespace="System.Collections.Generic"/>
<add namespace="Orchard.Mvc.Html"/>
</namespaces>
</pages>
</system.web.webPages.razor>
実行時に実行されますが、インテリセンスおよびエラーコンソールはそれを取得しません
どんな助けでも大歓迎です。
ありがとう