【发布时间】:2016-04-26 14:10:01
【问题描述】:
我们有一个古老但可靠的 ASP.NET Forms Web 应用程序,使用 Visual Studio 2010 SP1 使用 .NET 4 框架创建。我们的目标是将我们的开发环境迁移到 Visual Studio 2015,我的第一步是在安装了 VS 2015 的 VM 中测试 ASP.NET 应用程序。不幸的是,我遇到了一个非常奇怪的问题,只是无法找出导致问题的原因。
在将项目迁移到 Visual Studio 2015(没有问题)后,我在 VS 2015 中重新构建了它。网站正常运行,但单击登录按钮后,网站进入 Page_Load( ) 登录 aspx 页面的事件和母版页的 Page_Load() 事件(登录页面继承自)。
如果我在 login.aspx 的 Page_Load() 事件的第一行插入断点,我可以逐行执行此事件,当它到达 Page_Load() 中的最后一条语句时,它会立即跳转到第一行masterpage.master 的 Page_Load() 事件,如果我单步执行,它会重新进入 login.aspx 的 Page_Load 事件的第一行。这永远重复!唯一的偏差是第一次通过时,它还进入了 Global.asax 中的两个空事件(Application_BeginRequest 和 Application_AuthenticateRequest)。
我最初认为在任何一个 Page_Load() 事件中都发生了一些愚蠢的事情,但它只是无聊的代码,几乎没有什么作用。如果我注释掉两个 Page_Load() 事件中的所有代码并用int x = 1; 替换每个事件,我仍然会得到完全相同的行为。
我回到了应用程序的 VS 2010 构建版本并比较了所有源代码、配置文件等,没有什么不同。两个版本都在相同的操作系统 (Windows 8.1 x64)、浏览器 (IE 11) 和安装的 .NET 框架上运行。我什至构建了 VS 2010 版本并将其部署到 VS 2015 VM 上,发现它运行良好。我唯一的结论是,在 VS 2015 中构建之后发生了一些变化。
任何帮助将不胜感激,因为我无法弄清楚是什么原因造成的,也不知道如何进一步调查。
【问题讨论】:
-
嗯,你是对的!这很奇怪。老实说,我不知道是什么原因造成的,但我会试试这个:在 2015 解决方案中,尝试删除母版页和登录页,然后重新添加它们。
-
@CaseyCrookston 不幸的是,重建主页面和登录页面没有帮助。
标签: asp.net visual-studio visual-studio-2010 visual-studio-2015 migration