【发布时间】:2013-12-13 18:24:39
【问题描述】:
我有一个大型(对我而言)ASP.NET (4.5 Framework) 应用程序,在 VS2012 中开发和发布时运行良好。
我已经从 VS2012 升级到 VS2013,我打开解决方案没有问题,它在本地运行良好(在 IIS Express 上)。
我不知道这是否是一个红鲱鱼,但我第一次使用 NuGet 更新 AJAX 控件工具包(及其依赖项),它似乎已经工作了。
当我将站点发布(文件系统发布)到我们的 Web 服务器(Windows Server 2012 中的 IIS 8)时,它加载正常,直到我将 <compilation defaultLanguage="vb" debug="true" targetFramework="4.5"> 更改为 debug="false"。
当我这样做时,该站点像猪一样运行,有时页面甚至无法加载,并且其 IIS 工作进程使 CPU 达到峰值并保持不变,并以 % 的速度增长,直到它基本上消耗了所有 CPU。
编辑:这发生在服务器和我的 PC (IIS Express) 上
此测试站点的 AppPool 使用与我们实际站点的 AppPool 相同的设置运行。注意:
- 启用 32 位应用程序:是的
- .NET 框架版本:v4.0
- 托管管道模式:集成
我希望您需要更多信息,但老实说,我不知道从哪里开始,我不想被不必要的细节淹没。
提前谢谢你
编辑:我真的应该提到这一点:
该站点在发布模式下发布期间进行了预编译。在过去发布之前,我从来不需要在我的开发环境中更改为 debug=false。
我的解决方案中的每个项目都得到了这个:
(0,0): warning : The following assembly has dependencies on a version of the .NET Framework that is higher than the target and might not load correctly during runtime causing a failure: [projectname], Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. The dependencies are: Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a. You should either ensure that the dependent assembly is correct for the target framework, or ensure that the target framework you are addressing is that of the dependent assembly.
编辑:看来我继承的这个解决方案是一个网站而不是应用程序。我不知道这是否会起作用。
【问题讨论】:
-
我不相信你描述的变化会导致你描述的症状。如果您更改了 web.config 并点击了刷新,是的,您可能会延迟一段时间,因为站点/应用程序池组合可能正在重建/回收,但还没有达到您描述的程度。一个问题是您为什么要在调试模式下进行部署,然后再将其关闭,但这是另一天的问题!
-
是否有任何内容写入 Web 服务器上的事件日志?
-
尝试预编译——并使用 web.config 的 debug mode='false' 将您的项目设置为发布模式,它应该可以正常工作。
-
这是一个很好的起点。您是否已经在服务器上安装了 .net framework 4.5?您是否针对 vs 中的所有项目属性下的完整 .net 4.5 框架?还是只是“轻量级”客户端?
-
看起来你现在走在正确的轨道上,除了配置问题之外,唯一可能的情况是一些条件代码,它查看“调试”标志并且在它设置为 true。
标签: asp.net .net vb.net iis visual-studio-2013