GeneratedInternalTypeHelper.g.i.cs的目的是什么?

时间:2013-12-03 13:34:16

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

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

  

编辑了无法编译的内容。执行无法继续   直到编译错误得到修复。

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

更糟糕的是(在严格意义上找到这个问题的原因)在一些项目中它工作得很好。并不是每个WPF应用程序都受此问题影响......

经过大量的研究和反复试验后,我发现当我将 obj 目录中的 GeneratedInternalTypeHelper.g.i.cs 替换为空的时,似乎工作得很好。但是我不太确定,如果这是一个干涉这些文件的好主意。

有没有人知道GeneratedInternalTypeHelper.g.i.cs做了什么以及它用于什么?或者有关为什么编辑和继续操作不正常的任何想法?

1 个答案:

答案 0 :(得分:2)

如上所述,这些文件是自动生成的。当问题出现在自动生成的文件中时,这是因为某些东西让编译器感到困惑。

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

您提到您的某些项目只有这个问题。试着找出破碎的(或者工作的)有什么共同之处。如果您遇到与我相同的问题,那么我怀疑您已经引用了一个或多个已更改的库,并且编译器没有修改它的格局视图以正确地考虑更改。