Asp.net mvc3でプロジェクトをビルドしようとすると、 27のエラーが表示され、mvc関連のクラスが存在しないことを示しています。
以下はその一例です。
Error 1 The type or namespace name 'Controller' could not be found (are you missing a using directive or an Assembly reference?) C:\Documents and Settings\hhhhhhhh\my documents\visual studio 2010\Projects\MvcApplication1\MvcApplication1\Controllers\HomeController.cs 10 35 MvcApplication1
更新
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication2.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
public ActionResult About()
{
return View();
}
}
}
エラー:
Error 1 The type or namespace name 'Controller' could not be found (are you missing a using directive or an Assembly reference?) c:\documents and settings\hhhhhhhh\my documents\visual studio 2010\Projects\MvcApplication2\MvcApplication2\Controllers\HomeController.cs 9 35 MvcApplication2
Error 2 The type or namespace name 'ActionResult' could not be found (are you missing a using directive or an Assembly reference?) c:\documents and settings\hhhhhhhh\my documents\visual studio 2010\Projects\MvcApplication2\MvcApplication2\Controllers\HomeController.cs 11 16 MvcApplication2
Error 3 The name 'ViewBag' does not exist in the current context c:\documents and settings\hhhhhhhh\my documents\visual studio 2010\Projects\MvcApplication2\MvcApplication2\Controllers\HomeController.cs 13 13 MvcApplication2
Error 4 The name 'View' does not exist in the current context c:\documents and settings\hhhhhhhh\my documents\visual studio 2010\Projects\MvcApplication2\MvcApplication2\Controllers\HomeController.cs 15 20 MvcApplication2
Error 5 The type or namespace name 'ActionResult' could not be found (are you missing a using directive or an Assembly reference?) c:\documents and settings\hhhhhhhh\my documents\visual studio 2010\Projects\MvcApplication2\MvcApplication2\Controllers\HomeController.cs 18 16 MvcApplication2
Error 6 The name 'View' does not exist in the current context c:\documents and settings\hhhhhhhh\my documents\visual studio 2010\Projects\MvcApplication2\MvcApplication2\Controllers\HomeController.cs 20 20 MvcApplication2
追加する必要がありますSystem.Web.Mvc
をプロジェクト参照に追加します。
System.Web.Mvc
(おそらくもっと多くなるでしょう:バージョン2/3/4)今日、同じタイプのエラーが発生しました。 MVCバージョン3をインストールしましたが、プロジェクトでエラーが発生し、以前はエラーなしで実行されていました。今日私がやったことは、私は自動的にウィンドウズアップデートに行ったことです。その更新では、MVCバージョン3の更新が自動的にダウンロードおよびインストールされました。そのため、私のプロジェクトで以前に追加されたMVCバージョン3リファレンスは、Windows Updateのインストール後に無効になりました。 つまり、その参照を削除し、同じ参照を追加しました。これにより、エラーが修正されました。:)
using System.Web.Mvc.Controller;
を削除します。 using句は、クラスではなく名前空間を定義するために使用されます。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult About()
{
return View();
}
}
}
また、プロジェクトでSystem.Web.Mvc
アセンブリが参照されていることを確認してください。
注意すべきもう1つのことは、名前空間です。 namespace Controllers
ではなくnamespace AppName.Controllers
を使用しているようです。プロジェクトのどこかでnamespace Controller
(s
なし)が定義されていないことを確認してください。これは、ここで使用しようとしているController
クラスと競合する可能性があります。
ソリューションにテストプロジェクトがあるようです。これらのエラーを解決するには2つの方法があります
1)単体テストプロジェクトをソリューションから除外します。
2)MVCプロジェクトの参照をテストプロジェクトに追加するだけです。単体テストプロジェクトに移動>参照を右クリック>参照を追加をクリック>プロジェクトタブをクリック>プロジェクト参照を追加
どうぞ !!!
新しいバージョンのVisual Studio(VS 2013、VS 2015)で古いMVC(1,2,3 ..)フレームワークプロジェクトを実行していますか?
もしそうなら、plzはこのソリューションを読みます: Visual Studio 2012またはVisual Studio 2013で古いMVCプロジェクトを開く方法は?