我在一个c#项目中,在这个项目中我引用(使用项目引用)另一个用vb.net编写的类库。
现在,当我右键单击并查看该类的定义时。它没有带我到vb.net项目中的确切源代码,而是带我到动态生成的vb.net类的c#表示。
我已经反过来尝试了实验,从vb.net项目开始,并引用了ac #project,这次是右键单击视图定义,它将我带到代码浏览器,所以再次,不是原始代码用于编辑。
如果两个项目都是同一种语言,那么一切都很好。
对此有解释吗?可能还有一个解决方案,可以在不同语言的项目之间轻松进行代码导航?
重现:
在c#类中,添加对vb.net类的引用,例如:
VBClassLibrary.VBClass myVBClass = new VBClassLibrary.VBClass();
现在,右键单击VBCLass并选择“转到定义”。
请注意你最终的地方......
答案 0 :(得分:7)
这里没有你做错的事。这是Visual Studio如何设计的一个不幸的副作用。当您有两个不同语言的项目时,它们之间的引用不像项目引用,而是类似于文件引用。
Project to Project相同语言的引用共享一种语言服务。因此,它可以控制所有代码,并可以提供特殊的实时内容优势。主要的是goto定义和即时智能感知。今天Visual Studio中没有任何工具可以让语言服务在参考边界上相互通信。
答案 1 :(得分:0)
" goto definiton"你可以改用#34;导航到" (ctrl + commma)