2017-02-22 3 views
1

私はMS VisualStudio(2015)でC#アプリケーションをビルドしており、私が働く会社のためにホストされているVisual Studioリポジトリにチェックインされています。 私は上の「継続的インテグレーション」とVisualStudioをサーバー上のプロファイル「を構築する」が定義され、それは、チェックインがありますたびに構築します。 をそれは CIビルドのC#プロジェクト - Oracle拡張機能への参照によりビルドエラーが発生する

は、私はいくつかのコードを追加する必要がありました...今まで正常に動作しているなら、 Add > Reference > Assemblies > Extensions > Oracle.ManagedDataAccess

0123:私のコードで私は

OracleConnection conn = new OracleConnection(connString); 
... 

とトップ

using Oracle.ManagedDataAccess.Client; 

で、私がやった私のプロジェクトでを持っているので、Oracleサーバーと呼ばれます

それで、私の開発用PCでビルドして実行します。 TeamFoundationServerで

しかし、ビルドがメッセージ

エラーCS0246となりまし失敗:型または名前空間名「オラクル」が見つかりませんでした(?あなたがusingディレクティブまたはアセンブリ参照が不足している)

usingソースファイルの行。

サーバーがOracle拡張機能を含むと仮定しました。これは、プロジェクトファイル(チェックインされている)で参照されているためです。私は取る必要がある別のステップがありますか?

答えて

1

Extensionsリストにリストされているアセンブリは、Visual Studioにインストールした拡張機能で提供されているものです(私の推測では、「Oracle Developer Tools for Visual Studio」拡張機能をインストール済みです)。

この拡張はビルドサーバーにインストールされていないため、ビルドサーバーは参照を見つけることができないという不都合があります。

解決策は、追加した参照を削除することです。代わりに、Oracleドライバを含むNuGetパッケージへの参照を追加します。 https://www.nuget.org/packages/Oracle.ManagedDataAccess/

ビルドサーバーは、他のアセンブリの場合と同じようにNuGetパッケージをフェッチします。

+0

私は「参照」を使用してはならず、常にNuGetパッケージを使用すべきであることを暗示していますか? – Black

+0

いいえ - 同じソリューション内の別のプロジェクトを参照する場合や、COMコンポーネントを使用している場合など、参照を手動で追加するための有効な用途はたくさんあります。しかし、一般的にサードパーティのライブラリを参照する場合は、すべての一般的なビルドツールがサポートしているため、NuGetを選択する必要があります。 –

関連する問題