1

同僚が使用するために作成したクラス ライブラリがあり、彼女に .dll ファイルを渡した後、仕事に取り掛かることができません。.dll ファイルの名前は「BatchDashboard」です。名前空間の名前は「BatchDashboard」で、クラスの名前 (1 つしかありません) は「BatchDashboard」です。3 つすべてに同じ名前を付けることは問題ですか? Visual Studio は問題なく参照を追加できます。ただし、このステートメント:

using BatchDashboard;

次のエラーを吐き出します:

The type or namespace name 'BatchDashboard' could not be found (are you missing a using directive or an assembly reference?

同様に、新しい「BatchDashboard」オブジェクトをインスタンス化できません。

誰かが私が間違っていることを教えてもらえますか?

どうも!

編集

コンピューター上の別のテスト プロジェクトへの参照を追加しようとしましたが、同じ結果が得られました。

2回目の編集

「BatchDashboard」クラスのアクセス修飾子を public に変更すると、using ステートメントの問題が修正されました。ただし、次のようにオブジェクトをインスタンス化しようとすると:

BatchDashboard batch = new BatchDashboard();

次のエラーが発生しました。

'BatchDashboard' is a namespace but is used like a 'type'

機能するには、異なるクラス名と名前空間名が必要でした。ありがとうございました!

4

3 に答える 3

1

私はあなたがどんな問題を抱えているか知っていると思います。クラスファイルを作成したとき、おそらくクラスへのアクセスを「パブリック」に変更していません。.Netでは、アセンブリにパブリックメンバーがない限り、名前空間は「using」ディレクティブで見つかりません。基本的に、あなたが持っているクラスが「パブリッククラス」であるかどうかを確認してください

于 2012-12-20T22:53:02.903 に答える
0

ここに私の最善の推測があります:

  1. 間違った CPU ターゲットに対してコンパイルした
  2. プロジェクトへの参照としても追加する必要があるランタイム ライブラリに依存しています。
于 2012-12-20T22:50:02.417 に答える
0

次のことを確認してください。

  • プロジェクトへの参照としてライブラリが追加されます
  • そのライブラリは、プロジェクトの .NET バージョンと比較して、同等またはそれ以前の .NET バージョンです。
于 2012-12-20T22:50:27.473 に答える