visual studio 2012 c#转到定义总是返回元数据

时间:2013-08-28 15:21:13

标签: c# vb.net visual-studio-2012 metadata go-to-definition

ide:vs 2012 v11.0.60610.01 update 3 项目:网站,vb和c的混合# 问题:vb导航到定义,c#导航到元数据 投诉:在管理30k代码行项目时,完全痛苦。 解决方案:你是第一个明白这一点的人,这超出了我的耐心水平。

我发现元数据是110%无用的。 有没有办法让c#导航到像vb那样的实际定义?

感谢

3 个答案:

答案 0 :(得分:2)

如果它导航到元数据而不是定义,则可能与添加程序集的方式有关。如果您将引用添加为DLL,它将始终显示元数据,即使该项目包含在您的解决方案中也是如此;您必须按项目添加引用才能访问源。

答案 1 :(得分:0)

“我发现元数据是110%无用的。有没有办法让c#导航到像vb那样的实际定义?”

Resharper去定义/去实现选项完全按照您的预期工作 - 值得一试,看它是否能解决您的问题。

如果您选择不尝试resharper

This question可能会有所帮助

答案 2 :(得分:0)

我意识到这是一个老线程,但它似乎是为数不多的专注于混合语言(C#和VB.NET)作为影响因素的人之一。

我在VS.NET 2010,2012,2013和2015上进行了一些测试。我的实证结果(未经任何官方Microsoft文档验证)是所有4个支持C#消耗的VB.NET成员的查找全部参考(只要添加了项目引用,尽管可以分成明显单独的结果组。但是,VS.NET 2010,2012和2013最终位于“从元数据”视图中,用于转到定义,从C#代码到VB.NET成员。 VS.NET 2015似乎让这种跨语言的“转到定义”导航正常工作。

我还确认使用Resharper对External Sources的支持确实允许Go To Definition在VS.NET 2012下工作,这几乎促使我为我们当前混合了C#和VB的项目购买Resharper的许可证。 NET项目,但现在我的计划只是为了加快采用VS.NET 2015。