2012-09-13 49 views
0

的公共成员变量我有两个类如下为什么是一个类不能识别其他类

Public Class A_one  'This project does not have a dll generated even after a build. Any reason why ? 
    Public Structure struct 
     Dim xyz as String 
     Dim p as String 
    End Structure 
    Public Sub xyz(...) 
     ClassB_one_Obj = New ClassB_one_Obj(SampleStruct) 

     ClassB_one_Obj.send_struct(sampleStruct) 
    End Sub 

    Public Class B_one  'In a different project 
    Public Sub send_struct(ByVal sampleStruct As A_one.struct) 'Throwing error here **"Type A_one.struct not defined"** 

任何人都可以解释为什么我得到的错误。是否因为我没有在类B_one中添加类A_one的dll引用? 我试图添加A_one的引用dll,但无法在obj/bin文件夹中找到它。 任何人都可以指点我的工作?

EDIT/UPDATE:想通该类A_one这是主要的可执行文件建立类B_one的对象,这是我们不能创建B_one类A_one的目的的原因,由于存在死锁状情况。

确实,我们无法从另一个类创建主类(启动类)的对象吗?

+0

您能否分享您收到的错误? –

+0

类不获取DLL,只有项目/程序集。这全部在一个项目中吗? –

+0

不,这两个班级在不同的项目中。 –

回答

1

是的,错误是因为项目B没有引用项目A,所以它不知道该类型的任何内容。

从Visual Studio中,转到项目B,引用,添加的属性。如果项目A与B的解决方案相同,请将其添加为项目/解决方案参考,否则可以浏览该DLL。如果使用DLL方法,则必须确保将项目A的项目类型设置为类库并且已成功构建。如果它没有设置为类库项目,它很可能已经构建为一个EXE文件(如果需要将项目A保留为独立可执行文件,也可以添加对EXE文件的引用)。

+0

非常感谢..我会试试! –

+0

试过了。没有工作。仍然B_one类似乎不认可类A_one。我点击添加引用并选择了具有类A_one的Project的exe文件。不知道我要去哪里错 –

+0

@Sharat,当在另一个项目中引用一个类型时,类型名称看起来像'sampleStruct As ProjectA.A_one.struct',项目名称成为命名空间的一部分,所以它不是只是班级名称。 – Kratz

相关问题