Visual Studio编辑器没有看到我生成的类型

时间:2014-08-14 09:59:01

标签: c# msbuild resharper mono.cecil compile-time-weaving

使用Cecil,我正在修改某个项目的程序集以包含一些额外的接口。这是从我的项目文件中的AfterBuild目标触发的,该目标调用自定义任务。这很好用。生成的程序集应该按原样进行修改。

但是,我有另一个项目依赖于正在修改其程序集的项目。在Visual Studio 2013代码编辑器中工作时,即使构建工作正常,Visual Studio也似乎无法接收我生成的类型。

我尝试直接引用生成的程序集而不是项目,但结果是一样的。不知怎的,编辑器没有看到构建的内容。

可能导致这种情况的原因是什么?如何让编辑器了解这些类型?

编辑:看起来这个问题不是视觉工作室本身,而是重塑者。当我暂停resharper时,编辑器不再显示任何红色符号,也不会抱怨未解析的符号。

所以现在的问题是,如何让resharper接收我生成的类型?

3 个答案:

答案 0 :(得分:1)

如果在当前解决方案中加载了修改后的程序集项目,ReSharper将使用源代码提供符号,因此它不会看到生成的接口。如果项目不包含在内,并且程序集只是一个简单的文件引用,那么ReSharper将从程序集的IL +元数据中选取符号,在这种情况下,生成的接口应该是可见的。 / p>

答案 1 :(得分:1)

我刚遇到同样的问题。以下是Jetbrain论坛中报道的问题:

ReSharper IntelliSense ANTLR support

在评论中,您可以找到解决方案:Resharper的扩展名为External Code

这对我有用。虽然在每次构建之后VS询问是否重新加载在VS之外修改的(生成的)源,这有点不方便。

答案 2 :(得分:0)

如果Resharper感到困惑,那么您可以尝试清除缓存:Resharper - > Options... - > Environment - > General然后点击{{ 1}}按钮。

相关问题