gpt4 book ai didi

asp.net-mvc - 为什么我的 MVC 项目在安装 WebMatrix 2 Beta 后在生产服务器上抛出异常?

转载 作者:行者123 更新时间:2023-12-03 06:17:45 25 4
gpt4 key购买 nike

在我的开发计算机上安装 WebMatrix 2 Beta 后,在该计算机上编译并部署到生产服务器的 MVC 项目将开始抛出 FileNotFoundException寻找System.Web.WebPages .

"...System.IO.FileNotFoundException: Could not load file or assembly 'System.Web.WebPages,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
The system cannot find the file specified. File name: 'System.Web.WebPages, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35'..."

我在 Google 上找不到任何可以帮助解决此问题的信息,因此我在这里为遇到这种情况的其他人询问并回答这个问题。导致此问题的原因是一组相当模糊的情况。

如果您有一个相当旧的 MVC 项目,并且已在各个版本中进行升级,则可能有一个对 System.Web.WebPages 的无版本项目引用。 .

<Reference Include="System.Web.WebPages" />

只要您的项目在编译时找到的版本与其部署时可用的版本相匹配,就可以正常工作。

安装 WebMatrix 2 Beta 将添加此 DLL 的新版本。您的 MVC 项目将开始拉取 v2.0.0.0 进行编译。当您转移到未安装 WebMatrix 2 Beta 的系统时,它将无法找到 v2 并会抛出上述异常。

最佳答案

我启动了一个新的 MVC 3 项目,并注意到有几个引用文献在新项目中完全合格,并且在问题项目中更加通用。

<Reference Include="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />

如果您切换到这些项目引用而不是通用引用 ( <Reference Include="..." /> ),您将确保项目是使用预期版本的 DLL 进行编译的,而不是选择系统上可用的最新版本。

关于asp.net-mvc - 为什么我的 MVC 项目在安装 WebMatrix 2 Beta 后在生产服务器上抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7530441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com