编辑并继续function在Visual Studio 2010中停止工作

Visual Studio编辑并继续function在Visual Studio 2010上停止,我不知道是什么导致了这个问题。

我正在使用C#处理Windows应用程序。 此应用程序最初是在Visual Studio 2008中开发的,后来升级到Visual Studio 2010。

一切工作正常,包括编辑和继续,直到我将.NET Framework从3.5升级到4.0。

现在,当我使用debugging模式时,更改IDE中的任何代码行将导致以下消息:

编辑不能编译。 编译错误修复之前,执行无法继续。

实际上,没有编译错误,我必须重新启动Visual Studio才能运行更新。

我如何获得编辑并继续工作?

在解决scheme资源pipe理器视图中,右键单击引用的每个引用,然后select“属性”。 在Properties视图中,将False标记为Embed Interop Types的字段。 这对我有用。

“编辑并继续”function不适用于dynamic关键字。

我试图删除使用dynamic参数的方法,并且转换后的项目现在可以在Visual Studio 2010上运行。

互联网调查显示,这是一个已经报告给微软的bug。 下面的链接有更多的细节:

  • 作为方法参数的dynamic对象中断编辑并继续为类和项目

我昨天曾经使用微软的profiler,之后我的“编辑和继续”function就离开了。 经过几个小时的挫折之后,我终于意识到需要从命令行执行VsPerfCLREnv / globaloff命令并重新启动计算机。 现在我有我的编辑,并继续前进。 顺便跟目标平台无关。 它与目标平台设置任何CPU没有任何麻烦。

我有一些Excel文件"embed interop types" == true 。 当我将其更改为false时,编辑并继续开始工作。

我在Visual Studio 2013中遇到了这个问题,并且:

  • 有时只是closures和重新打开解决scheme的作品,但是当时没有
  • 重新启动Visual Studio(closures解决scheme,退出Visual Studio,重新打开Visual Studio,重新打开解决scheme,重新尝试使用编辑并继续debugging)修复它。

就我而言,我没有embedded任何Interoptypes,也没有任何代码具有dynamic关键字,并且我没有成功地执行完整的解决scheme。 但是,我一直在运行,debugging和重新启动很多次,所以它可能与内存有关 – 使用Visual Studio超过一分钟就closures了,在此期间磁盘出现抖动(大概是在玩)。

我会尝试清理所有由VS生成的文件。 所以我会删除binobj目录,我也会删除*.suo*.user文件。 由于这些文件是自动生成的,这不应该影响任何东西(尽pipe我显然做了所有文件的备份,以防万一有其他一些文件被错误地放在那里)。

有时候这些文件可能会被破坏(在过去的VC ++中曾经发生过很多),然后VS就开始performance得非常有趣了。

我尝试了所有上述解决scheme,他们都没有为我工作。 但是,当我删除视觉工作室中的bin和object文件夹并再次运行时,它开始工作。

在VS2013中,我必须在debugging选项中启用“使用托pipe兼容模式”。 我认为这是因为我有一个.Net 4项目引用.Net 2程序集。

对于同一解决scheme中的另一个项目,我必须在项目属性中取消选中“定义TRACE常量”。

在我的情况下,有人在参考列表中添加了对项目输出的引用:在解决scheme资源pipe理器中查找[ProjectName]的[ProjectName] \ References并将其删除。

如果项目依赖自身副本中的代码,则无法“编辑并继续”。 在警告列表中,如果这是问题的原因,您可能(也可能不会)在更大的项目中)与“导入types”消息发生冲突。

在Visual Studio 2015中,我删除了.vs文件夹(新的.suo文件所在的位置),删除了所有bin和obj,并且还卸载了Resharper 2015 。 编辑并继续回来。

(注意:intellisense现在几乎立即显示自动完成,而之前需要2到5秒,也许是resharper的错,也许是不相关的…)

阅读以上内容,我的UI项目具有“Embed Interop Types”== true的Shell32。 我将其更改为false,并且“编辑并继续”开始工作。

在解决scheme资源pipe理器视图中,右键单击引用的每个引用,然后select“属性”。 在Properties视图中,将False标记为Embed Interop Types的字段。 这对我有效。

我明白这个post是旧的,但我最近有这个问题,这个博客文章告诉我如何解决这个问题。

  • 删除obj文件夹
  • 删除bin文件夹。 您可以将库,数据文件等复制并粘贴到删除后的文件夹中。
  • 从VS,菜单解决scheme – > 干净的解决scheme

这对我多次工作。

在VS 2015中,这个错误是由我最近安装的nuGet包引起的。 通过卸载这个软件包并重新安装,该bug已经修复。