0

MVC2 ベースの Web アプリケーションを開発しているボックスでルーティングを機能させるには、いくつかの問題があります。MvcDiagnostics.aspx でサイトをテストしたところ、次のことがわかりました。

ASP.NET MVC アセンブリ情報 (System.Web.Mvc.dll)

複数の ASP.NET MVC アセンブリがこのアプリケーションに読み込まれています。

アセンブリ バージョン: ASP.NET MVC 2 RTM (2.0.50217.0) フル ネーム: System.Web.Mvc、Version=2.0.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35 コード ベース: file:///C:/Windows/assembly /GAC_MSIL/System.Web.Mvc/2.0.0.0__31bf3856ad364e35/System.Web.Mvc.dll 展開: GAC 展開

アセンブリのバージョン: 不明なバージョン (3.0.20105.0) 完全な名前: System.Web.Mvc、Version=3.0.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35 コード ベース: file:///C:/Windows/Microsoft.Net/assembly /GAC_MSIL/System.Web.Mvc/v4.0_3.0.0.0__31bf3856ad364e35/System.Web.Mvc.dll 展開: GAC 展開

私はどこでも参考文献を探したと思います。プロジェクト内の参照は、2.0.0.0 バージョンのみを指しています。また、web.configは問題ないようです

<system.web>
    <compilation debug="true" batch="false" defaultLanguage="c#" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </assemblies>
    </compilation>
</system.web>

どこを見るべきかアドバイスはありますか?

4

2 に答える 2

1

もう少し追跡を行ったところ、Elmah が原因であることがわかりました

Could not load type 'System.Web.Mvc.GlobalFilters' from assembly 'System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.

elmah への参照を削除すると、問題が解決しました

于 2013-06-08T22:48:21.430 に答える
0

参照で System.Web.Mvc.dll ファイルへの参照を確認してください。C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll を指していることを確認してください。

ASP.NET MVC 4 ディレクトリの下のものを指している場合は、プロジェクト ファイルをメモ帳で開きます。探す

<Reference Include="System.Web.Mvc">
  <Private>False</Private>
</Reference>

これはに変更する必要があります

<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35, processorArchitecture=MSIL" />
于 2013-12-19T04:25:15.197 に答える