【问题标题】:Site compiled to .net 3.5 as target framework but still seems to reference .net 4.0站点编译为 .net 3.5 作为目标框架,但似乎仍然引用 .net 4.0
【发布时间】:2012-11-06 07:27:05
【问题描述】:

我有一个网站,我编译为 .net 3.5 作为目标框架,它在本地运行良好,但是当我将它上传到 godaddy 的服务器时,我收到以下错误:-

System.Web.HttpParseException:无法加载文件或程序集“System.Web.Extensions,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。该系统找不到指定的文件。 ---> System.IO.FileNotFoundException:无法加载文件或程序集“System.Web.Extensions,版本=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。该系统找不到指定的文件。 文件名:'System.Web.Extensions,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35' 在 System.Signature._GetSignature(SignatureStruct& 签名, Void* pCorSig, Int32 cCorSig, IntPtr fieldHandle, IntPtr methodHandle, IntPtr declaringTypeHandle)

我检查了我的 web.config 文件,没有任何 4.0.0.0 dll 的引用,任何想法我可能做错了什么以及为什么会出现这些错误?我的 Godaddy 服务器正在运行 .net 3.5。我不明白编译为 3.5 的项目如何会遇到这些问题。

【问题讨论】:

  • 检查godday是否允许你选择.Net版本

标签: .net target


【解决方案1】:

检查项目引用,删除对 System.Web.Extensions 的引用,然后再次添加它,但请检查您选择的版本是否正确。

项目目标框架与依赖目标框架不同。您可以为一个项目编译一个项目,但它的依赖项可能会为另一个目标框架编译。

当依赖使用更高版本的运行时,这个应用程序一旦启动就会失败。当使用较低版本的运行时依赖时,一切都会运行良好。

【讨论】:

  • 太棒了,非常感谢 Nikola,真是太棒了!我搜索了所有源代码,没有发现任何与 system.web.extensions v4.0.0 相关的内容,没有考虑重新添加参考。最初,该项目引用 System.Web.Extensions 的 v1.0.61025.0。我删除了引用并重新添加了对 3.5.0.0 的引用(我的开发盒上只有一个可用)。重新编译,重新部署到 Godaddy 的服务器上,我的网站现在可以正常工作了。
猜你喜欢
  • 2014-10-09
  • 2011-05-01
  • 2011-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多