2017-02-02 40 views
5

我有一个运行在IIS上的经典ASP网站。我用VS 2015打开它(在File菜单中打开网站)并保存了解决方案(打开它时表示这是一个预编译的网站 - 无论如何)。然后我附加到进程调试它。无法调试ASP应用程序中的一些aspx页面

现在,我放置的断点是在某些.aspx页面上,而不是在其他页面上。任何想法为什么这可能是这种情况?我检查了webconfig,并将debug选项设置为true。可能有些PDB文件丢失。人们建议重建网站,但是当我点击构建或重建解决方案时,该过程立即成功完成,所以我怀疑任何事情都是重新编译的。

我可以修改这些页面的代码,IIS会在下一次请求时重新编译它们,但不知道为什么断点不会在那里出现。他们显然是我在我的代码中加入了Debugger.Launch()之类的东西,但这不是我想要的。

我不是专家,所以如果你能帮助我解决这个问题,我将不胜感激。

+0

你可以分享一个关于警告/错误“它表示这是一个预编译网站”的屏幕截图,如果它在重建之后运行良好,一个可能的原因是你已经改变了某些文件的位置或代码,例如,您说您保存解决方案文件,无论它是否与手动保存的解决方案文件(.sln)相关?默认的网站项目有两个不同的文件夹保存项目文件。因此,您可以尝试创建一个新的空白网站,然后将所有项目文件保存到这个新的空白项目中。或者,如果调试正常,你可以找到差异。 –

+0

对于“断点未命中”的问题,请检查输出或错误列表窗口中的详细输出消息。请在工具 - >选项 - >调试 - >符号下启用Microsoft符号服务器,也请在工具 - >选项 - >调试 - >常规下禁用选项“要求源文件与原始版本完全匹配”。 –

+0

@ JackZhai-MSFT如果我重建解决方案,没有任何变化,断点仍然没有被击中。一旦我点击重建,它立即在控制台中表示重建完成,所以我怀疑任何东西都重建。 – user216094

回答

2

预编译的网站意味着它可以提高一些ASP.NET网站的性能。它可以用来优化静态网站。我们探索其他类型网站的策略。这加快了第一次访问您网站中的页面。如果您希望部署后网站的选项更快,请考虑“网站预编译”。假设您的网站量大,流行且重要。客户访问时,网站立即作出反应非常重要。

希望这是有帮助的。