C# &引用;所做的编辑无法编译。在vs2010中选中零错误和启用、编辑并继续
我可以在调试模式下编辑我的代码,但弹出窗口显示错误“编辑无法编译。在修复编译错误之前,执行无法继续”,但错误列表为空,并且我已选中“启用编辑并继续”。 我正在使用vs2010C# &引用;所做的编辑无法编译。在vs2010中选中零错误和启用、编辑并继续,c#,visual-studio-2010,debugging,C#,Visual Studio 2010,Debugging,我可以在调试模式下编辑我的代码,但弹出窗口显示错误“编辑无法编译。在修复编译错误之前,执行无法继续”,但错误列表为空,并且我已选中“启用编辑并继续”。 我正在使用vs2010 清洁和重新启动并没有解决问题 我在Visual Studio 2008、2010和2013中遇到了这个问题。当出现此问题时,我为每个项目编写了一个批处理文件,保存在解决方案文件夹中。扩展Vijay所说的内容,这将清除bin和obj文件夹。有时VisualStudio会锁定文件夹,我必须将其关闭,但在我清除这些文件夹后,问题
清洁和重新启动并没有解决问题 我在Visual Studio 2008、2010和2013中遇到了这个问题。当出现此问题时,我为每个项目编写了一个批处理文件,保存在解决方案文件夹中。扩展Vijay所说的内容,这将清除bin和obj文件夹。有时VisualStudio会锁定文件夹,我必须将其关闭,但在我清除这些文件夹后,问题就消失了。。。有一段时间。我不确定根本原因,我相信二进制文件和内存中的代码不知怎么地不同步了。但这允许快速关闭、清洁、打开解决方案
@echo off
cls
dir bin /s /AD /b > clean.tmp
dir obj /s /AD /b >> clean.tmp
for /F "tokens=*" %%A in (clean.tmp) do echo rmdir /S /Q "%%A"
echo This command will remove ALL BIN and OBJ folders in this tree.
echo To run the commands as listed ...
pause
for /F "tokens=*" %%A in (clean.tmp) do rmdir /S /Q "%%A"
del clean.tmp
pause
我正在使用截至目前更新的Visual Studio 2017社区 在花了数小时尝试发布的所有解决方案后,唯一有效的解决方案是删除工作区并再次
Map&Get
要删除工作区,
文件
→ <代码>源代码管理→ <代码>高级→ <代码>工作区→ <代码>删除当您的工作区损坏时,可能会出现此问题。只需关闭Visual Studio,删除(或者最好先重命名).vs
文件夹,然后再次启动Visual Studio
VS2017甚至可能出现这种情况。我也遇到过同样的问题(VS2017),对我来说,菜单项Build和单击Clean Solution就足够了
然后重新生成解决方案,一切正常。这可能是由于Visual Studio的
编辑并继续
功能造成的。解决方法是禁用此功能:
Debug --> Options --> Debugging --> General --> uncheck Enable Edit and Continue
解决方案取自
也回答了。到目前为止,据我所知,这种类型的错误消息可能出现在三种类型中:
在我的例子中,是Excel文件应用程序导致了问题。解决方案:我将Excel应用程序、工作簿和工作表的对象创建为全局变量,并在我的一个主要方法中打开和定义它们。不知何故,这样做之后,比尔·盖茨不喜欢我在调试模式下再愚弄这个方法了。我绕过Bill的诀窍是用一个单独的小方法编写工作簿开头和工作表定义,然后从原始方法调用它。之后,我可以在调试运行时愉快地编辑big方法中的任何部分!尽管如此,我还是不能在那个只包含工作簿和工作表处理的小方法中做到这一点。嗯,那是比尔舒适的工作场所:)我不需要。我在一个c#项目中也遇到过这个问题。原来是因为我最近启用了“启用本机代码调试”选项
关闭它会恢复功能。还有另一个可能的罪魁祸首: 解决方案中包含的某个项目可能存在问题
@echo off
cls
dir bin /s /AD /b > clean.tmp
dir obj /s /AD /b >> clean.tmp
for /F "tokens=*" %%A in (clean.tmp) do echo rmdir /S /Q "%%A"
echo This command will remove ALL BIN and OBJ folders in this tree.
echo To run the commands as listed ...
pause
for /F "tokens=*" %%A in (clean.tmp) do rmdir /S /Q "%%A"
del clean.tmp
pause
我和我的一个同事遇到了完全相同的问题,而罪魁祸首是我们.sln文件中的一个项目;与同一解决方案文件中的多个其他项目一起启动的WinForms应用程序
补救办法很简单:
从解决方案中删除WinForms项目,并启动一个单独的Visual Studio实例,其中WinForm项目与其余项目分离。然后它成功了。我认为WinForms应用程序运行时编辑了一些文件,出于某种原因更改了代码。在Visual Studio 2020中
Debug --> Options --> Debugging --> General --> uncheck Enable Edit and Continue
Visual Studio 2019 16.9中似乎存在影响此功能的回归。如果您遇到此问题,请检查以了解修复程序何时可用。 对于企业版/专业版,建议降级至16.8。
希望这能帮助遇到此错误的人(像我一样),因为这是搜索中出现的第一篇SO帖子。尝试删除您的垃圾箱,并在此处重新编译相同的问题。。你找到什么了吗?我有同样的问题。以及如何修复它。发生在VS2019 v16.9.4中,链接到它发生在我身上2019@KirstenGreed这个变通方法对你有帮助吗?记录在案是很有用的。事实上,我的问题是与Resharper有关。这个问题有真正的解决方案吗?编辑并继续不是一个重竖琴功能。你是对的,它是一个Visual Studio功能。不过,几乎不值得投反对票,@Gausszz以上的任何解决方案都无法解决这个问题。在我运行这个脚本之后,它被修复了。它也可能是执行上述所有操作的组合。VS2019中的同一问题在删除.vs文件夹后,我在更改代码后仍然看到“未能发出模块”。@CoreyAlix:“未能发出模块”不是此问题的错误。也许可以帮助你?混合模式调试器没有(显然,因为