2017-06-22 9 views
0

.Net Core Webアプリケーションで作業していましたが、今はMongoを.Net Coreの.Net C#で書かれたAPIに接続したいと思います。しかし、すべてがDocker内にあります。それは、各要素が機能していると言われています。私はコマンドラインからデータベースを編集することができます。また、私は最新のUbuntuについて覚えておく必要があります。.Net Core apiでMongo DBに接続できません

私はMongoのドライバを追加.csprojファイルで:

<PackageReference Include="MongoDB.Driver.Core" Version="2.3.0" /> 
<PackageReference Include="MongoDB.Bson" Version="2.3.0" /> 

そして、私は追加のProgram.csファイルに:

using MongoDB.Driver; // at top 
using MongoDB.Bson; 
... 
... 
var mongo = MongoClient("mongodb://localhost:27017"); // in main method 

これは私がしてアプリケーションをビルドするとき、私は取得エラーですドッカー:

Program.cs(13,25): error CS0103: The name 'MongoClient' does not exist in the current context [/src/src/Identity.api/Identity.api.csproj] 

私は適切なドライバを追加しましたが、間違った場所にありますか?

追加情報が必要な場合はお知らせください。ありがとう、私はDBに接続できることを楽しみにしています!

+0

MongoClientクラスが見つからないようです。おそらくdll(またはlib?)を正しく追加していないでしょう。 –

答えて

1

MongoDB.Driver.MongoClientタイプはMongoDB.Driverパッケージに含まれているので、参照する必要があります。MongoDB.Driver.Coreで十分ではありません。

MongoDB.Driver.Coreには、ドライバの.Net Coreバージョンではなく、MongoDB .Netドライバの「コアコンポーネント」が含まれています。

+0

3つのドライバをすべて.csprojファイルとprogram.csファイルに追加する必要がありますか? – Coder

+0

csprojに 'MongoDB.Driver'を追加するだけで十分です。そのパッケージは他の2つのパッケージを参照しているからです。名前空間については、必要なタイプによって異なります。それがちょうど 'MongoClient'なら、' MongoDB.Driver'で十分です。より多くの型が必要な場合は、他の名前空間が必要な場合があります。 – svick

+0

だから、私は追加: var mongo = new MongoClient( "mongodb:// localhost:27017"); var db = mongo.GetDatabase( "cvpz"); db.getCollection( "people"); しかし、それはモンゴーの定義の一部ではないと言います。もっと何かを追加する必要はありますか? – Coder

関連する問題