【问题标题】:Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.0 on NEW box无法在新框上加载文件或程序集'System.Web.Mvc,版本 = 3.0.0.0
【发布时间】:2015-04-30 02:40:26
【问题描述】:

我查看了不同的解决方案,但没有任何帮助。基本上,我有一个 MVC 3 附带的 Kentico 解决方案。我删除了所有引用并通过 nuget 添加了 MVC 5。这适用于旧的测试服务器,因为它安装了 MVC 4。我们已经部署了一个新的测试网络服务器,它没有安装 MVC,如果 bin 文件夹中的 DLL 可用,我们不需要它。现在,当我尝试在新服务器上运行该站点时,出现以下异常。

Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.IO.FileLoadException: Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Source Error: 


Line 1032:        {
Line 1033:            // Rewrite URL
Line 1034:            status = URLRewriter.RewriteUrl(relativePath, excludedEnum, siteName, viewMode);
Line 1035:        }
Line 1036:

Source File: e:\inetpub\KenticoCMS\App_Code\Application\CMSAppBase.cs    Line: 1034 

Assembly Load Trace: The following information can be helpful to determine why the assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' could not be loaded.


WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

Stack Trace: 


[FileLoadException: Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)]
   CMS.URLRewritingEngine.URLRewriter.ProcessPageTemplate(PageInfo pageInfo, RequestContext requestContext, IHttpHandler& handler, URLRewritingResultEnum& status) +0
   CMS.URLRewritingEngine.URLRewriter.RewriteUrl(String relativePath, ExcludedSystemEnum excludedEnum, SiteNameOnDemand siteName, ViewModeOnDemand viewMode) +10002
   CMSAppBase.RewriteUrl(URLRewritingResultEnum status, String relativePath, ExcludedSystemEnum excludedEnum, ViewModeOnDemand viewMode, SiteNameOnDemand siteName) in e:\inetpub\KenticoCMS\App_Code\Application\CMSAppBase.cs:1034
   CMSAppBase.CMSMapRequestHandler(Object sender, EventArgs e) in e:\inetpub\KenticoCMS\App_Code\Application\CMSAppBase.cs:584
   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +165

当我的 bin 文件夹中有可用的 MVC 5 DLL 时,我很困惑为什么它在寻找 MVC 3。

Web.Config

<pages enableViewStateMac="false" validateRequest="false" clientIDMode="AutoID" controlRenderingCompatibilityVersion="4.0">
      <controls>
        <add tagPrefix="ajaxToolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit" />
        <add tagPrefix="cms" namespace="CMS.Controls" assembly="CMS.Controls" />
        <add tagPrefix="cms" namespace="CMS.FormEngine" assembly="CMS.FormEngine" />
        <add tagPrefix="cms" namespace="CMS.FormControls" assembly="CMS.FormControls" />
        <add tagPrefix="cms" namespace="CMS.ExtendedControls" assembly="CMS.ExtendedControls" />
        <add tagPrefix="cms" namespace="CMS.PortalControls" assembly="CMS.PortalControls" />
        <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization" />
        <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions" />
      </controls>
      <namespaces>
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="CMS.CMSHelper" />
        <add namespace="CMS.GlobalHelper" />
      </namespaces>
    </pages>

 <compilation debug="true" numRecompilesBeforeAppRestart="100" targetFramework="4.5">
      <assemblies>


        <add assembly="SMDiagnostics, Version=3.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="Microsoft.Transactions.Bridge, Version=3.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Configuration.Install, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Deployment, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Web.RegularExpressions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Messaging, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.IdentityModel.Selectors, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

        <add assembly="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />


      </assemblies>

    </compilation>
    <httpCookies httpOnlyCookies="true" />
  </system.web>


<runtime xmlns="">
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-0.85.3.365" newVersion="0.85.3.365" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="CMS.IO" publicKeyToken="834b12a258f213f9" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-7.0.5270.7138" newVersion="7.0.5270.7138" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

我在这里缺少什么参考?我唯一想到的是我缺少一些依赖程序集。

【问题讨论】:

    标签: c# asp.net asp.net-mvc


    【解决方案1】:

    它可能是不同项目或配置中的引用。搜索 3.0.0 看看会出现什么。 NuGet 包安装可能很棘手。你知道有东西在寻找它,你需要让它知道你已经升级了。

    【讨论】:

    • 我再次搜索,但没有出现关于 MVC 3 的任何信息。我​​在此解决方案中只有 Kentico 网站。
    • 这是版本 8。我们使用的是版本 7。我与支持人员进行了对话,看起来我需要将项目降级到 MVC 3。我们的另一个选择是安装 MVC 3我们的新服务器,我们不想这样做。
    猜你喜欢
    • 1970-01-01
    • 2015-09-12
    • 2013-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    • 2015-02-15
    • 1970-01-01
    相关资源
    最近更新 更多