c# - GeneratedInternalTypeHelper.g.i.cs 的目的是什么?

标签 c# wpf debugging visual-studio-2013 edit-and-continue

我遇到了一个恼人的问题,自从我换到我的新开发机器(Win 7,VS 2013)后,WPF 应用程序(.net 4.0)中的编辑和继续功能不再起作用。如果我在调试时尝试编辑一些代码文件,我总是会收到消息

Edits were made which cannot be compiled. Execution cannot continue until compile errors are fixed.

但“错误列表”中没有显示错误。

更糟糕的是(严格地说是找到这个问题的原因)在一些项目中它工作正常。也不是每个 WPF 应用程序都会受到此问题的影响......

经过大量研究和反复试验后,我发现当我替换 GeneratedInternalTypeHelper.g.i.cs 在一个空的 obj 目录中,一切似乎工作正常。但我不太确定,干预这些文件是否是个好主意。

有人知道 GeneratedInternalTypeHelper.g.i.cs 的作用及其用途吗?或者关于为什么编辑并继续不能正常工作的任何想法?

最佳答案

如上所述,这些文件是自动生成的。如果问题出在自动生成的文件中,那是因为某些东西以某种方式混淆了编译器。

我遇到过其中一个 *.g.i.cs 文件是编译错误源的情况。就我而言,问题与引用不再正确的库的 *.g.i.cs 文件有关(例如,升级到新版本的库后,即使项目引用正确且“使用特定版本”标志为真)。就我而言,我发现解决问题的唯一方法是删除对旧程序集的引用,尝试重新编译解决方案(它不会构建,但它会帮助编译器意识到它需要修改它对程序集的引用),然后重新添加正确的项目引用并重新编译解决方案。可能有更好的方法来执行此操作(无论是运行“清洁解决方案”还是手动清除构建文件夹的内容都对我有用)。

您提到您只是在某些项目中遇到了这个问题。试着弄清楚损坏的(或者,工作的)有什么共同点。如果您遇到与我相同的问题,那么我怀疑您引用了一个或多个已更改的库,并且编译器没有修改它的 View 以正确说明更改。

关于c# - GeneratedInternalTypeHelper.g.i.cs 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20352613/

相关文章:

c# - 如何在 .NET 控制台应用程序中加载位图文件

python - PyCharm可以将变量值显示为十六进制数吗?

c# - 为什么我不能将此对象作为参数传递?

c# - jquery函数,根据下拉列表隐藏/显示文本

c# - Fancybox (jQuery) 首次单击时不显示

c# - Windows 任务计划程序启动程序时如何获取应用程序文件夹

wpf - 如何绑定(bind)到 ListBox 的视口(viewport)宽度(即没有滚动条的宽度)?

c# - 另一个窗体关闭后主窗体的更新

c++ - 如何在 lldb 命令行中调用 C++ 对象的公共(public)函数?

visual-studio-2010 - 无法启动程序 'http://localhost/Default.aspx' 。 VS2010