2016-09-26 99 views
2

Backstory:我正在学习使用一个新的(在我的)商业3D基于WPF的图形库,我有很多开心的建设,工作代码作为例子。所以现在我试图用该库从头开始编写自己的代码。我在“(缺少程序集引用?)”变体的生成(mainwindow.g.cs)文件中的“using”语句中出现编译错误。Visual Studio - 从'using'语句找到引用?

我的问题:因为我有很多工作的例子,从去的,有没有在Visual Studio 2013的任何方式来检查的一个例子是“使用”的声明,看看所需的知识参考解决它?换句话说,如果“使用”声明说

using Ab3d.DXEngine.Wpf.Samples.Controls; 

有没有办法看到工作示例有什么“加参考”如何解决?

+2

您是否尝试过右键单击命名空间的“控件”部分并选择“定义”?这是在工作示例中。 – ChrisF

+0

如果您使用程序中未引用的程序集中的某些名称空间 - 我怀疑您可以奇迹般地找到此程序集,因为一般程序集名称和名称空间名称彼此不相关。当然,像Resharper这样的工具可以帮助你(因为他们知道你在其他项目中使用的一些dll,并且可以扫描他们的名字空间)。 – Evk

+0

@ChrisF将无法正常工作,因为该名称空间可能会在他当前的项目和外部程序集中引用,应该使用哪个定义? – Dispersia

回答

2

最简单的方法是从该名称空间添加一个变量到代码中,然后右键单击变量类型 - > Peek Definition,在顶部它将显示该名称空间来自哪个程序集。 (因为相同的命名空间可以跨多个程序集)

+0

该使用语句仅出现在**生成的**文件中,即mainwindow **。g ** .cs,即,我不允许编辑的文件。在任何示例代码的使用源代码中,该使用语句都不会真正发生。编译器显然将它放在那里,因为它在XAML的* xmlns *中被引用。这也是为什么我不能仅仅评论使用语句来查看访问它并尝试使用你的想法,尽管我怀疑如果我这样做了,它会说“定义”是“使用”语句本身,根据我在上面尝试ChrisF的建议时发生的事情。 – user316117

+0

只需将XAML中引用的控件添加到代码中,那么您可以在代码中引用任何可以在XAML中引用的内容(或者查看是否可以在XAML中查看定义,我的意思是您应该可以) – Dispersia

+0

它只是一个名称空间(xmlns) - 在XAML中,该名称空间中没有任何内容实际上被**引用**实际上,我通过从XAML中删除xmlns行来解决了即时问题,并且一切都很好,因为编译器不再感到必须将“使用”添加到生成的“.g”文件中。但我只是希望利用这种情况作为一个平台来解决更广泛的“如何使用'声明来告诉程序集/ dll是什么?”问题。 – user316117