Visual studio(C#)和#x27;热代码替换';

Visual studio(C#)和#x27;热代码替换';,c#,visual-studio,C#,Visual Studio,我以前使用EclipseIDE在Java中开发过,并习惯于调用HCR。据我所知,这些特性仅在Eclipse中可用。它允许您在调试应用程序时替换代码。无需暂停或停止调试会话,只需修改文件,并在保存时替换JVM中的代码。我不太清楚 现在,我很想知道Visual Studio中是否有类似的功能(功能或扩展)。我知道“编辑并继续”,但这需要暂停应用程序的执行,并且不允许在代码运行时编辑文件。您可以在调试时编辑代码(例如,通过断点或异常)。但是,在调试会话中可以编辑的内容有一些限制 基本上,您只能更改类中

我以前使用EclipseIDE在Java中开发过,并习惯于调用
HCR
。据我所知,这些特性仅在Eclipse中可用。它允许您在调试应用程序时替换代码。无需暂停或停止调试会话,只需修改文件,并在保存时替换JVM中的代码。我不太清楚


现在,我很想知道Visual Studio中是否有类似的功能(功能或扩展)。我知道“编辑并继续”,但这需要暂停应用程序的执行,并且不允许在代码运行时编辑文件。

您可以在调试时编辑代码(例如,通过断点或异常)。但是,在调试会话中可以编辑的内容有一些限制

基本上,您只能更改类中任何成员的内部行为,而不能更改其外部行为。话虽如此,您不能更改参数列表或成员的返回值,甚至不能更改其名称。此外,还有一些注释,如lambdas、delegations和一些conde合同,打破了debgugger继续工作的局面


您可能希望在调试时更改其中一些功能,但VS设计者选择了一种高度节省的方法,即您的更改不会使您的应用程序在调试时崩溃。

是的,VS支持这一点。但您必须首先调试已编辑的代码(通过点击断点),编辑并继续是您的全部。这真的会对“热替换”代码的方式产生影响吗?“编辑并继续”背后的理念是尽可能安全地执行此类“热补丁”-允许您在应用程序运行时更改代码谁知道随机崩溃应用程序的最佳方式是什么:)@Luaan真的吗?至少在VS2010中,我被这种注释行为所困扰。@Luaan也许你不需要这项功能,但对于游戏开发人员来说,在OpenGL或DirectX中调试渲染时,它可以节省大量时间。“编辑并继续”很有用,但必须暂停执行也会中断游戏中的增量时间。将源文件放在应用程序旁边,并且能够立即看到更改的应用,这样效率会更高。我理解这在VS中是“可能的”,但它没有Eclipse强大。