2013-04-21 70 views
1

访问功能我有一个项目,Project 1,我已经包含在另一个项目(Project 2)。我试图访问Project 1中的Project 2。我可以从Project 2导航到我的解决方案中的功能,但是当试图从我的Project 1文件中访问它时,我似乎无法访问它。VB.NET:无法从参考

我也尝试添加一个参考,但是,我收到一条消息,说我已经在Project 1中引用了Project 2;当我将它添加到解决方案时,我猜想它会发生。任何人都可以帮我解决这个问题吗?谢谢!

编辑 也许我解释不好我的解决方案的结构。这里是我的解决方案资源管理器中的“可视化”表示...

Solution 'Project1' (2 projects) 
    Project1 
    Folders 
     Files 
    Project2 
    Folders 
     Files 
+0

听起来像循环引用,这是不可能的。您必须添加第三个项目,将常用功能放在那里,并在“项目1”和“项目2”中引用第三个项目。 – 2013-04-21 13:51:01

+0

嗯,这似乎有点奇怪,除非我只是误解了你。如果我有我正在处理的Project1,并且只包含Project2以访问函数,为什么我需要创建第三个项目? – daveomcd 2013-04-21 13:54:33

+0

因为它听起来像您也尝试从Project2中访问Project1内部的函数。 – 2013-04-21 13:55:49

回答

2
  • 确保您已经添加到您要访问的项目的引用,在你想从访问它的项目。您可以通过右键单击解决方案资源管理器>添加引用中的项目来执行此操作。>单击解决方案选项卡>选中要访问的项目>确定。

  • 确保您要访问的类是“公共”。

  • 请记住在Project2中使用您尝试访问的任何名称的全名。例如,如果您的名为“MyClass”的类位于名为“SomeClasses”的名称空间内,则必须像这样定位“MyClass”:Project2.SomeClasses.MyClass。 您也可以使用“导入”关键字,这样您就不必每次都写完整路径。

+0

你可以访问模块,如果它们是公开的。您的最后一点是不正确的:首先,它假定Project1是Project1的默认命名空间,并且该类不在另一个命名空间中。相反,您应该建议使用完全限定名称(包括名称空间)或使用'Imports'语句。编辑你的答案,我会给你一个+1。 – 2013-04-21 17:21:59