0

次の2つのクラスがあります

    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"**

エラーが発生する理由を誰でも説明できますか。Class A_one の dll 参照を Class B_one に追加していないからでしょうか? A_one の参照 dll を追加しようとしましたが、obj/bin フォルダーにも見つかりませんでした。誰かが私に回避策を教えてもらえますか?

EDIT/UPDATE :メインの実行可能ファイルであるクラス A_one がクラス B_one のオブジェクトを作成すると考えました。これが、デッドロックのような状況があるため、B_one でクラス A_one のオブジェクトを作成できない理由です。

メインクラス(起動クラス)のオブジェクトを別のクラスから作成できないって本当ですか?

4

1 に答える 1

1

はい、エラーは、プロジェクト B がプロジェクト A を参照していないため、そのタイプについて何も知らないためです。

Visual Studio から、プロジェクト B のプロパティ、[参照]、[追加] に移動します。プロジェクト A が B と同じソリューションにある場合は、それをプロジェクト/ソリューション参照として追加します。それ以外の場合は、DLL を参照できます。DLL メソッドを使用する場合、プロジェクト A のプロジェクト タイプがクラス ライブラリに設定され、正常にビルドされていることを確認する必要があります。クラス ライブラリ プロジェクトに設定されていない場合は、おそらく EXE ファイルとしてビルドされます (プロジェクト A をスタンドアロンの実行可能ファイルとして残す必要がある場合は、EXE ファイルへの参照も追加できます)。

于 2012-09-13T19:02:48.867 に答える