5

コードを実行しようとすると、次のエラーが発生します。

CS0234:タイプまたは名前空間名'OracleClient'が名前空間'System.Data'に存在しません(アセンブリ参照がありませんか?)

System.Data.dllとへの参照を含めましSystem.Data.OracleClient.dllたが、それでもこのエラーが発生します。

このエラーはusing System.Data.OracleClient、名前空間宣言の行が原因で発生しています。

4

5 に答える 5

6

このusing System.Data.OracleClientディレクティブは、完全でない名前が何を意味するかを判断しようとするときに、その名前空間を考慮する必要があることを意味します。

参照の追加とは、特定のアセンブリ (この場合は System.Data.OracleClient.dll) への参照を追加することを意味します。VisualStudio、SharpDevelop、または MonoDevelop から、プロジェクト エクスプローラー ビューに参照フォルダーが表示されます。右クリックして「参照の追加」(VisualStudio および SharpDevelop) または「参照の編集」(MonoDevelop) し、System.Data.OracleClient.dll を追加します。

nant を使用している場合は、nant スクリプトを編集する必要があります。

アセンブリと名前空間は重複していますが、まったく同じではありません。System.Data.OracleClient.OracleDataReader参照は、たとえば、プロジェクトがそのコードが存在するアセンブリを認識しているため、使用できることを意味しusingます。ディレクティブは、 type のみが必要であることを意味しますOracleDataReader。アセンブリと名前空間は一致する傾向があります。これは、誰にとっても作業が楽になるためです。ただし、アセンブリに複数の名前空間のクラスが含まれる場合と、名前空間が複数のアセンブリに分割される場合の両方があります。典型的な例は、mscorlib が 、 、 からのクラスをたくさん持っていることSystemですSystem.CollectionsSystem.IOSystem.dll には、まったく同じ名前空間から、使用せずに実現可能なものがさらにたくさんあります (しかし、それでも 99% の時間です)。

ただし、重複するユースケースをカバーする何千ものクラスを含む絶対に大規模なライブラリを作成している場合を除き、独自のアセンブリは単一の名前空間で動作する必要がありJaredksGreatCodeますJaredksGreatCode.UserInterface。 1 つの DLL あたり。

于 2012-08-31T15:18:02.883 に答える
0

への参照を追加するOracle.DataAccess.dll必要があり、次にすべての参照を手動で に関連付ける必要がありましOracleClient.blahblahOracle.DataAccess.Client.blahblah

うまくいけば、これは他の誰かに役立ちます。

于 2012-10-18T13:15:04.123 に答える
-3

に参照を追加しますSystem.Data.OracleClient.dll

于 2012-08-31T15:17:13.387 に答える