Visual Studio编辑和继续功能在Visual Studio 2010上停止,我不知道是什么原因引起了问题。

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

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

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

进行了编辑,无法编译。在修复编译错误之前,执行无法继续。

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

如何进行编辑并继续工作?

有帮助吗?

解决方案 2

编辑和继续功能不适用于 dynamic 关键词。

我试图删除使用的方法 dynamic 参数和转换后的项目现在在Visual Studio 2010上工作。

互联网研究表明,这是一个已报告给微软的错误。下面的链接有更多详细信息:

其他提示

在“解决方案资源管理器”视图中,右键单击参考的每个参考,请选择属性。在“属性”视图中,签名为嵌入式Interop类型的字段。这对我有用。

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

昨天我使用了Microsoft的Profiler,之后我的“编辑和继续”功能脱颖而出。我终于在几个小时后意识到我需要执行 vsperfclenv /globalOfd命令从命令提示符并重新启动我的计算机。现在我有了编辑,并继续将来回来。顺便说一句,它与目标平台无关。它可以与设置为任何CPU的目标平台一起使用,而无需任何麻烦。

我在2013年Visual Studio中遇到了这个问题, -

  • 有时只是关闭并重新开放解决方案,但是当那不行时
  • 重新启动Visual Studio(关闭解决方案,Exit Visual Studio,重新开放的视觉工作室,重新开放解决方案,通过编辑和继续进行重新尝试调试)对此进行了修复。

就我而言,我没有任何嵌入的Interop类型,我的任何代码都没有 dynamic 关键字,我在没有成功的情况下进行了完整的解决方案。我一直在跑步,调试和重新启动很多次,所以它可能与记忆有关 - 视觉工作室花了超过一分钟的时间才能关闭,在此期间,磁盘正在敲击(大概是记忆分页玩)。

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

有时,这些文件可能会损坏(过去在旧的VC ++等中发生了很多),然后VS可以开始表现得很有趣。

我尝试了以上所有解决方案,它们都不适合我。但是,当我 删除了垃圾箱和对象文件夹 在Visual Studio中再次运行,它开始起作用。

与VS2017社区合作,我遇到了这个加重问题:如果您移植了现有项目,则标签 嵌入插图 可能还没有在.csproj文件中,搜索是徒劳的。如果是这种情况,请在属性组调试| x86(或您使用的任何位置)的末尾添加标签,并带有文本编辑器:

前:

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>bin\x86\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <DocumentationFile>bin\Debug\MyProject.XML</DocumentationFile>
    <DebugType>full</DebugType>
    <PlatformTarget>x86</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>

后:

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>bin\x86\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <DocumentationFile>bin\Debug\MyProject.XML</DocumentationFile>
    <DebugType>full</DebugType>
    <PlatformTarget>x86</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <Prefer32Bit>false</Prefer32Bit>
    <EmbedInteropTypes>false</EmbedInteropTypes>
  </PropertyGroup>

这必须与 全部 属于解决方案的项目!

在VS2013中,我必须在调试选项中启用“使用托管兼容模式”。我认为这是因为我有一个.NET 4参考.NET 2组件的项目。

对于同一解决方案中的另一个项目,我必须取消选中项目属性中的“定义跟踪常数”。

在我的情况下,有人在参考列表中添加了对项目输出的引用:在[projectName] [projectName*]的参考下,在解决方案资源管理器中查看并将其删除。

如果项目依赖于本身的副本,则不能“编辑并继续”。在警告列表中,如果这是问题的原因,您可能会或可能不会(在较大项目中更有可能与导入类型的消息发生冲突。

在Visual Studio 2015中,我删除了.vs文件夹(新样式.suo文件),删除了所有bin和obj,还删除 卸载的Resmanter 2015。编辑并继续返回。

(旁注:IntelliSense现在几乎立即显示自动完成,而它花了2到5秒,也许是Resharper的错,也许是无关的...)

我了解这篇文章很旧,但是我最近有这个问题,这是 博客文章 向我展示如何修复它。

  • 删除 OBJ 文件夹
  • 删除 垃圾桶 文件夹。您可以在删除后复制和粘贴库,数据文件等...返回到文件夹。
  • 从VS,菜单解决方案 - > 干净的解决方案.

这对我多次起作用。

对我来说,这是由 nuget 未能下载一个软件包(用于净框架)到正在引用的净标准项目中。 Nuget进入无限环路(在输出窗口中查看)。

解决方案 要关闭“自动软件包还原”设置,请参见: https://developercommunity.visualstudio.com/content/problem/26638/nuget-infinite-loop.html

访问此设置工具>选项> Nuget软件包管理器>一般

阅读上面的UI项目具有shell32,上面有“嵌入式Interop类型” == true。我将其更改为False,然后“编辑和继续”开始工作。

在“解决方案资源管理器”视图中,右键单击参考的每个参考,请选择属性。在“属性”视图中,签名为嵌入式Interop类型的字段。这对我有用。

对于谁仍然遇到此错误,即使在Visual Studio 2017中

没有动态/便携式类库/nuget软件包或依赖性问题。 Visual Studio突出显示了没有错误或警告。

花了几个小时,尝试了所有发布的解决方案, 其他线程 和网页,对我有用的唯一解决方案是 签到,卸下工作区,然后 Map&Get 再次.

要删除工作区, Source controlAdvancedWorkspaceRemove.

我正在使用Visual Studio 2017 Community的最新信息,并在新机器(一个星期和几个工作时间)上安装相对较新的安装后。


我在上述解决方案之前没有成功测试的方法

  • 确保在Visual Studio选项中启用编辑和继续。解开并再次打勾
  • 为解决方案中的所有项目删除bin和obj
  • 清洁和重建所有内容,重新启动与重新启动到上述
  • 检查编译选项和Nuget软件包以及项目的兼容性,灵感来自项目 这个
  • 以各种组合卸载项目以测试依赖性问题或其他问题(灵感来自 这个)
  • 删除解决方案重新下载(无需删除工作区)
  • 签名false到嵌入的互动类型
  • <_ResolveReferenceDependencies>true 如解释 这里
  • 以上的组合与重新启动的重新启动

之后,我进行了登机手续,并在另一台运行相同版本的Visual Studio(2017 Community)的机器上下载了解决方案。由于我没有在那里获得编辑并继续发行,所以我去了删除工作区。

就我而言,有效的是 取消选中“需要源文件以与原始版本完全匹配” 在调试选项中。 VS社区2017。

我必须取消选中“启用本机编辑并继续”的工具 - >选项 - >调试 - >常规:

enter image description here

从我的参考项目的大会版本中删除 *为我解决了问题。

来自Github:

“我在VB和C#项目的组合中复制了此问题,并[汇编:汇编(1.2.3。*》)]。一旦VB项目引用了此设置的C#项目开始崩溃。看起来相反,它有同样的问题。” -rhuijben

https://github.com/dotnet/roslyn/issues/28224

(有被标记的风险,似乎我们已经遭受了VS编辑的困扰,并继续存在十多年的问题。令我震惊的是,Microsoft Visual Studio团队不太关心以帮助开发人员在发生这种情况时提供更多的详细信息,以帮助开发人员)

我尝试了以上所有的,没有用。显然是由于实现了一些低级调试选项(查看寄存器...)

工具 - >导入和导出设置 - >重置所有设置

解决了

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top