Visual Studio在与Web相关的项目上始终崩溃

时间:2010-12-17 01:07:04

标签: visual-studio crash webserver


我在Win2008R2机器上安装了全新的VS2010 调试WCF服务项目时,我开始收到此错误:

  

“尝试读取或写入受保护的   记忆。这通常是一个迹象   其他记忆已经腐败。“

当我一周后开始开发网站时,这变得一致 - 我无法调试它。 堆栈转储读取:

  

在   Microsoft.VisualStudio.WebHost.Host.ProcessRequest(连接   conn)at   Microsoft.VisualStudio.WebHost.Server.OnSocketAccept(对象   在...接受   System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(对象   国家)   System.Threading.ExecutionContext.Run(执行上下文   executionContext,ContextCallback   回调,对象状态,布尔值   ignoreSyncCtx)at   System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()   在   System.Threading.ThreadPoolWorkQueue.Dispatch()   在   System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

我尝试在线搜索,有些人建议关闭调试选项中的“抑制JIT优化” - 这似乎没什么区别。

显然问题在于内置的Web服务器。但我做错了吗?有什么我可以做的吗?或者这是一个已知的错误?

感谢您的时间,

更新12/31 :今天我尝试使用CassiniDev替代原始VS2010 WebServer - 完全相同的结果。我怀疑VS2010,Windows Server 2008R2之间存在一些内部冲突,可能是64位操作系统。我转而使用IIS作为我的调试服务器 - 这似乎有效,有一些恼人的副作用。

我的结论:不要将64位服务器系统用作开发机器。开发32位 - 部署到64位。

侧面结论:有些情况微软的QA没有测试。

3 个答案:

答案 0 :(得分:2)

嗯,这是一个可悲的事实,我和那些为微软工作的人验证了这些技术。我刚刚触发了某种卡西尼虫。他建议我尝试安装VS2010 SP1 beta(由于我的代码是在生产中,我不能这样做)。他的另一个建议是尝试IIS Express。 MS正试图将人们转移到IIS Express并将其作为其Web平台安装程序的一部分提供 - 因此,他们不会花费太多时间来插入Cassini错误。

由于我使用的是2008服务器,我刚刚添加了IIS(花了不到一分钟),创建了一个虚拟目录(VS项目页面允许你点击一键完成它)我现在已成功调试IIS。不是我想要的结果,但你不能总是得到你想要的东西:)

答案 1 :(得分:0)

安装.Net Framework 3.5为我解决了这个问题。

希望有所帮助!对不起,我无法提供任何关于卡西尼究竟出了什么问题的额外见解,但我怀疑它错过了一两个图书馆。

====

更新: 似乎有帮助(第一次请求不再崩溃),但在进一步使用时,我遇到了另一个出现相同错误的地方。)

====

更新: 而现在我再也无法重新创造了它。祝您好运,如果您再发现,请发布!

答案 2 :(得分:0)

引起我注意的是Win2008R2和Cassini。

我只是在猜测,但这让我觉得它可能是一个许可问题。

您的Win2008R2机器是否可能比普通开发者机器(普通开发者机器为XP / Vista / Win7等)锁定得更多。

在Win2008R2上使用您的用户帐户启动时,Cassini可能没有足够的权限来执行此操作。也许它无法打开端口?但我不认为端口问题会导致崩溃。或者它可能无法访问它需要的临时目录?

也许您的用户帐户被拒绝调试本地安全策略的权限?但我不是管理员,所以我不确定。

也许尝试以管理员身份启动visual studio(只是为了帮助您调查问题)。

或者尝试启动您的站点而不进行调试,以帮助查看调试过程是否存在某种权限问题。

我遇到过这个问题,从前段时间开始谈论Windows 7和Cassini。 http://msmvps.com/blogs/rfennell/archive/2009/01/24/problem-hosting-wcf-using-cassini-on-windows-7.aspx但它可能没有修复。