使用Cecil,我正在修改某个项目的程序集以包含一些额外的接口。这是从我的项目文件中的AfterBuild目标触发的,该目标调用自定义任务。这很好用。生成的程序集应该按原样进行修改。
但是,我有另一个项目依赖于正在修改其程序集的项目。在Visual Studio 2013代码编辑器中工作时,即使构建工作正常,Visual Studio也似乎无法接收我生成的类型。
我尝试直接引用生成的程序集而不是项目,但结果是一样的。不知怎的,编辑器没有看到构建的内容。
可能导致这种情况的原因是什么?如何让编辑器了解这些类型?
编辑:看起来这个问题不是视觉工作室本身,而是重塑者。当我暂停resharper时,编辑器不再显示任何红色符号,也不会抱怨未解析的符号。
所以现在的问题是,如何让resharper接收我生成的类型?
答案 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}}按钮。