0

ASP.NET MVC 4 RCとの最新バージョンをMvcExtensions使用していMvcExtensions.Autofacます。

MVC4がMVC3と異なる動作をするかどうかはわかりませんが、MvcExtensionsで使用すると、私の領域がまったく表示されません。以下のコードは、MVC3アプリケーションでの使用方法です。それをコピーしてMVC4アプリに貼り付けました。MVC 4アプリケーションに付属しているデフォルトのGlobal.asax.csファイルを使用すると、領域が正しく表示されます。これは別の方法で行う必要がありますか?

Global.asax.csファイルを次のように置き換えました。

public class MvcApplication : AutofacMvcApplication
{
     public MvcApplication()
     {
          Bootstrapper.BootstrapperTasks
               .Include<RegisterAreas>()
               .Include<RegisterControllers>()
               .Include<RegisterRoutesBootstrapper>()
               .Include<AutoMapperBootstrapper>()
               .Include<FluentValidationBootstrapper>();
     }

     protected override void OnStart()
     {
          FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

          base.OnStart();
     }
}

RegisterRoutesBootstrapperAutoMapperBootstrapperおよびFluentValidationBootstrapperは私のカスタムブートストラッパークラスです。

4

1 に答える 1

1

MvcExtensions (v2.5.0) とカスタム領域を使用してテスト Mvc4 アプリを作成しました。私にとってはすべてうまくいきます。

ルート web.config ファイルに bindingRedirects があることを確認してください。

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

これらのバインディング リダイレクト エリアがなければ機能しません。

于 2012-07-31T18:55:25.597 に答える