mvc程序发布到winserver2012 r2运行报错

dafa1313 2020-10-29 05:18:53
mvc程序发布到winserver2012 r2运行报错,报错信息:error CS0011: 未能解析程序集“System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”中由类型“System.TupleExtensions”引用的基类或接口“System.Object”,在vs运行没有问题,在win10的iis发布也没有问题,有哪位大神知道是什么问题,指点一下,谢谢
...全文
10199 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 版主 2020-11-03
  • 打赏
  • 举报
回复
原来是这样,我没遇到过这个问题。 也没帮上什么忙,解决了就好。
dafa1313 2020-11-03
  • 打赏
  • 举报
回复
引用 16 楼 正怒月神 的回复:
[quote=引用 14 楼 dafa1313 的回复:]肯定不是netcore啊,我看了你说的程序列表里面,有你说的net framework4.7.2,今天我怀疑是操作系统问题,试了新开两个操作系统winserver 2012 r2 数据中心版本,winserver 2016数据中心版本,都是可以,但我在我的正式环境同样winserver 2012 r数据中心版本反而不行,好郁闷
那就真不知道了。难道32位/64位问题?[/quote]谢谢你,一直非常积极回答,我在博客园提问,有个人回复了一个非常解决答案的办法,就是说webconfig里面的依赖system.runtime配置版本是否正确,他说要4.0,我的是<dependentAssembly> <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" /> </dependentAssembly>,我看到这个回复,直接去掉了这个配置节,竟然可以了,解决了我多天的困扰,也给后续有人再遇到这个问题的人一个参考,谢谢 正怒月神 一直的回复
正怒月神 版主 2020-11-03
  • 打赏
  • 举报
回复
引用 14 楼 dafa1313 的回复:
肯定不是netcore啊,我看了你说的程序列表里面,有你说的net framework4.7.2,今天我怀疑是操作系统问题,试了新开两个操作系统winserver 2012 r2 数据中心版本,winserver 2016数据中心版本,都是可以,但我在我的正式环境同样winserver 2012 r数据中心版本反而不行,好郁闷
那就真不知道了。难道32位/64位问题?
dafa1313 2020-11-02
  • 打赏
  • 举报
回复
引用 8 楼 正怒月神 的回复:
[quote=引用 5 楼 dafa1313 的回复:][quote=引用 2 楼 正怒月神 的回复:]然后IIS,记得连接池,也使用对应的.net framework
.net framework是4.0,后面我怀疑是不是这个问题,还下载了4.7,安装,重新更新到iis,也一样报这错[/quote] 报错很明显, TupleExtensions ,不能使用元组扩展的异常。 我估计大概率就是环境问题。 然后,让你在本地安装新版本的.net framework。 并且,并且,并且,设置iis里应用程序池的版本也为对应最新的.net framework。 你自己百度一下,如何设置 [/quote] 我安装了最新的4.7版本,也重新注册了,一样还是这样,好无解,感觉是环境问题
正怒月神 版主 2020-11-02
  • 打赏
  • 举报
回复
引用 5 楼 dafa1313 的回复:
[quote=引用 2 楼 正怒月神 的回复:]然后IIS,记得连接池,也使用对应的.net framework
.net framework是4.0,后面我怀疑是不是这个问题,还下载了4.7,安装,重新更新到iis,也一样报这错[/quote] 报错很明显, TupleExtensions ,不能使用元组扩展的异常。 我估计大概率就是环境问题。 然后,让你在本地安装新版本的.net framework。 并且,并且,并且,设置iis里应用程序池的版本也为对应最新的.net framework。 你自己百度一下,如何设置
dafa1313 2020-11-02
  • 打赏
  • 举报
回复
引用 13 楼 正怒月神 的回复:
[quote=引用 12 楼 dafa1313 的回复:]
看看另外两个地方,照道理来说,安装4.7是没问题的。 你确定不是.net core是吧? 第二个,去程序/卸载里,查看是否有下面这个,我是有的 [/quote] 肯定不是netcore啊,我看了你说的程序列表里面,有你说的net framework4.7.2,今天我怀疑是操作系统问题,试了新开两个操作系统winserver 2012 r2 数据中心版本,winserver 2016数据中心版本,都是可以,但我在我的正式环境同样winserver 2012 r数据中心版本反而不行,好郁闷
dafa1313 2020-11-02
  • 打赏
  • 举报
回复
肯定不是netcore啊,我看了你说的程序列表里面,有你说的net framework4.7.2,今天我怀疑是操作系统问题,试了新开两个操作系统winserver 2012 r2 数据中心版本,winserver 2016数据中心版本,都是可以,但我在我的正式环境同样winserver 2012 r数据中心版本反而不行,好郁闷
dafa1313 2020-11-02
  • 打赏
  • 举报
回复
引用 6 楼 贵阳老马马善福专业维修游泳池堵漏防水工程 的回复:
如果是先安装的iis,需要用aspnet_regiis.exe注册下
已经操作了,还是不行
正怒月神 版主 2020-11-02
  • 打赏
  • 举报
回复
引用 12 楼 dafa1313 的回复:
看看另外两个地方,照道理来说,安装4.7是没问题的。 你确定不是.net core是吧? 第二个,去程序/卸载里,查看是否有下面这个,我是有的
dafa1313 2020-11-02
  • 打赏
  • 举报
回复
贴一个完整的报错信息,根据日志信息,action是可以执行的,但在view渲染似乎有问题 Error Message:(0): error CS0011: 未能解析程序集“System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”中由类型“System.TupleExtensions”引用的基类或接口“System.Object” Stack Trace: 在 System.Web.Compilation.AssemblyBuilder.Compile() 在 System.Web.Compilation.BuildProvidersCompiler.PerformBuild() 在 System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) 在 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) 在 System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) 在 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) 在 System.Web.Compilation.BuildManager.GetCompiledType(VirtualPath virtualPath) 在 System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) 在 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) 在 System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) 在 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) 在 System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) 在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
dafa1313 2020-11-02
  • 打赏
  • 举报
回复
引用 10 楼 正怒月神 的回复:
[quote=引用 9 楼 dafa1313 的回复:][quote=引用 8 楼 正怒月神 的回复:][quote=引用 5 楼 dafa1313 的回复:][quote=引用 2 楼 正怒月神 的回复:]然后IIS,记得连接池,也使用对应的.net framework
.net framework是4.0,后面我怀疑是不是这个问题,还下载了4.7,安装,重新更新到iis,也一样报这错[/quote] 报错很明显, TupleExtensions ,不能使用元组扩展的异常。 我估计大概率就是环境问题。 然后,让你在本地安装新版本的.net framework。 并且,并且,并且,设置iis里应用程序池的版本也为对应最新的.net framework。 你自己百度一下,如何设置 [/quote] 我安装了最新的4.7版本,也重新注册了,一样还是这样,好无解,感觉是环境问题[/quote] 设置iis里应用程序池的版本也为对应最新的.net framework 不是重新注册,是你安装了4.7后,要设置iis应用程序池,让你的网站跑4.7的环境。 你设置了吗[/quote] 是的,因为程序池是有2.0和4.0,安装了最新net framework,并不会有4.7可以选,看了网上说明,4.7只是4.0升级版,所以程序池还是显示4.0,不会有4.7的,而我的程序的程序池一直都是选择4.0的
正怒月神 版主 2020-11-02
  • 打赏
  • 举报
回复
引用 9 楼 dafa1313 的回复:
[quote=引用 8 楼 正怒月神 的回复:][quote=引用 5 楼 dafa1313 的回复:][quote=引用 2 楼 正怒月神 的回复:]然后IIS,记得连接池,也使用对应的.net framework
.net framework是4.0,后面我怀疑是不是这个问题,还下载了4.7,安装,重新更新到iis,也一样报这错[/quote] 报错很明显, TupleExtensions ,不能使用元组扩展的异常。 我估计大概率就是环境问题。 然后,让你在本地安装新版本的.net framework。 并且,并且,并且,设置iis里应用程序池的版本也为对应最新的.net framework。 你自己百度一下,如何设置 [/quote] 我安装了最新的4.7版本,也重新注册了,一样还是这样,好无解,感觉是环境问题[/quote] 设置iis里应用程序池的版本也为对应最新的.net framework 不是重新注册,是你安装了4.7后,要设置iis应用程序池,让你的网站跑4.7的环境。 你设置了吗
threenewbee 2020-10-31
  • 打赏
  • 举报
回复
如果是先安装的iis,需要用aspnet_regiis.exe注册下
dafa1313 2020-10-30
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神 的回复:
然后IIS,记得连接池,也使用对应的.net framework
.net framework是4.0,后面我怀疑是不是这个问题,还下载了4.7,安装,重新更新到iis,也一样报这错
dafa1313 2020-10-30
  • 打赏
  • 举报
回复
引用 3 楼 weixin_42037497 的回复:
应该是服务器上没有System.Web.Mvc!! 在解决方案--引用--System.Web.Mvc--右击--属性 , 在属性框的复制本地,设置为True重新编译一次项目,bi目录里就会有System.Web.Mvc.dll了,然后将该文件拷贝到服务器的bin目录,或则重新部署一次。
有的,是复制到本地,引用也有
weixin_42037497 2020-10-30
  • 打赏
  • 举报
回复
应该是服务器上没有System.Web.Mvc!! 在解决方案--引用--System.Web.Mvc--右击--属性 , 在属性框的复制本地,设置为True重新编译一次项目,bi目录里就会有System.Web.Mvc.dll了,然后将该文件拷贝到服务器的bin目录,或则重新部署一次。
正怒月神 版主 2020-10-29
  • 打赏
  • 举报
回复
然后IIS,记得连接池,也使用对应的.net framework
正怒月神 版主 2020-10-29
  • 打赏
  • 举报
回复
环境问题,安装对应版本的.net framework

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧