HtmlヘルパーがMVC3内にどのように構築されているかを理解しようとしています。そこで、MVC 3ソースをダウンロードし、同じソリューションに別のプロジェクトとして追加してデバッグしました。
私はこの手順に従いました。
MVCアプリケーションからSystem.web.Mvc参照を削除しました
デバッグ用のSystem.web.Mvcソースコードプロジェクトリファレンスを追加しました。
Web.config System.Web.Mvc、Version = 3.0.0.0、Culture = neutral、PublicKeyToken=31BF3856AD364E35からSystem.Web.Mvc
ただし、依存性注入のために3つのアプリケーションに他の(、、、)NInject
参照NInject
を追加しています。NInject.web.common
WebActivator
Microsoft.web.infrastructure
MVC
今、私は以下のソースコードで'System.Web.MVC
と言っているソースでエラーを受け取っていますAn error occurred when trying to create a controller of type 'MVCApp.Controllers.HomeController'. Make sure that the controller has a parameterless public constructor.
MVC
public IController Create(RequestContext requestContext, Type controllerType)
{
try
{
return (IController)(_resolverThunk().GetService(controllerType)
?? Activator.CreateInstance(controllerType));
}
catch (Exception ex)
{
throw new InvalidOperationException(
String.Format(CultureInfo.CurrentCulture,
MvcResources.DefaultControllerFactory_ErrorCreatingController, controllerType),
ex);
}
}
DependencyResolver.Currentプロパティを確認すると、DependencyResolver.Currentと表示されます。タイプ「System.Web.Mvc.DependencyResolver」は「System.Web.Mvc.dll」と「System.Web.Mvc.dll」の両方に存在します。
MVC3ソースコードを使用してMVC3Appをデバッグするには、さらに何をする必要がありますか?このエラーを回避するにはどうすればよいですか?