首页 > 解决方案 > Visual Studio 15.9.3 会破坏 Web 表单?

问题描述

我有一个 15 年前的 Web 表单应用程序,目标是我正在维护的 .NET 4.6.1,我最近将我的笔记本电脑升级到了 VS 15.9.3。此应用程序的 15.9.3 版本不再Application_Start在生产服务器上触发事件(运行 .NET 4.7.2)。它在本地运行得很好,我经常在升级之前从这台笔记本电脑上部署生产版本。

我的台式计算机仍在运行 VS 15.8,并且那里的生产版本运行良好。这些机器之间的源代码是相同的,只是VS版本不同。

症状和补救措施:

  1. 我从生产环境中清除了所有旧文件并尝试从头开始设置。没有骰子。
  2. 使用相同的构建在 IIS 下设置新应用程序,但结果是相同的。
  3. 事件中没有任何错误记录,除了当某些页面尝试访问在Application_Start.
  4. 我尝试记录一些消息,甚至在开始时引发异常,但Application_Start我什么也没看到,所以Application_Start肯定没有运行。

我可以做些什么来进一步诊断问题?我一直无法在网上找到任何关于此的信息,或者为什么最新的 VS 版本突然不起作用。

除非采取任何补救措施,否则是否有降级 VS 而不是完全卸载并重新安装旧 VS 的建议?

编辑:现在即使将我的笔记本电脑恢复到 VS 15.8.9 也没有回滚问题,所以我已经从两台机器上拆卸了一个构建。几乎没有区别,基本上是依赖程序集的内部版本号、模块版本标识符、指定“图像库”的注释:

不工作的构建:

// Image base: 0x055E0000

工作构建:

// Image base: 0x052D0000

据我了解,这些差异都不应该有任何明显的影响。然后我反汇编了与 ASP.NET 应用程序一起构建的依赖程序集,它具有上述差异以及与静态字段初始值设定项的偏移量相关的更多差异。所以我仍然不知道为什么会发生这种情况。

编辑 2:似乎问题出在最后的 aspnet_merge 步骤中,同时尝试合并预编译的 Web 表单。合并未能找到任何要合并的程序集,这表明预编译可能已失败。

标签: c#asp.netvisual-studiowebforms

解决方案


推荐阅读