2011-10-07 12 views
19

[Science.dll]を私のプロジェクトに追加すると、これが先行するはずです。しかし、私は問題を抱えています。誰かが私に理由を教えてくれますか?C#プロジェクトでdllを追加するには

私はインターネットからコピーしたばかりのC#プロジェクトです。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Windows.Forms; 
using System.ComponentModel; 
using System.Data; 
using Science.Mathematics.VectorCalculus; 



namespace using_science_dll 
{ 
    static class Program 
    { 
     /// <summary> 
     /// The main entry point for the application. 
     /// </summary>`enter code here` 
    } 
} 

C:\ Csharptutorial \ using_science_dll \ using_science_dll \ Program.csを(7,7):エラーCS0246:型または名前空間名 '科学' が見つかりませんでした(あなたがusingディレクティブまたはアセンブリが欠落しています参照?)

私はVS 2008を使用しているのですか? Science.dllには、次のフレーム.NET 4.0およびVisual C#2010 Expressの

enter image description here

+1

スクリーンショットの右側にあるように、参照が壊れています。だから、 'using'節はうまくいきません。しかし、壊れた参照に関する警告/エラーメッセージが何であるか教えてください。 – CodesInChaos

+1

ソリューションエクスプローラの[参照]セクションに警告があります。その警告は何を言いますか? –

+0

Visual StudioでScienceリファレンスが見つかりません。このリファレンスを削除して再追加してみてください... – 2GDev

答えて

22

DLLは常に存在していなければなりません。名前が示すように、リファレンスはVSにDLLからのものを使用しようとしていることをVSに伝えます。プロジェクトファイルでは、VSは参照されるDLLの実際のパスとファイル名を格納します。それを移動または削除すると、VSはもうそれを見つけることができません。

私は通常、GACにインストールされていないDLLをコピーするプロジェクトのフォルダ内にlibsというフォルダを作成します。次に、私は実際にVS内の私のプロジェクトにこのフォルダを追加します(VSの隠しファイルを表示し、右クリックして "プロジェクトに含める")。次に、フォルダからDLLを参照するので、ソースコントロールにチェックインするときにライブラリもチェックインされます。これにより、複数の開発者がプロ​​ジェクトを変更する必要がある場合には、ずっと簡単になります。

(「なし」と、プロジェクト内のDLLのための「出力フォルダにコピーしていない」とビルドの種類を設定していることを確認してください。)

PS:私はドイツ語のVisual Studioを使用するので、私が引用したキャプションは、英語のバージョンと正確に一致しない場合があります...

+2

こんにちはThorsten プロジェクト/ソリューションの内部にあるDLLへの参照方法を詳しく教えてください。 –

+2

プロジェクトのフォルダ(これはすべてのcsファイルとcsprojファイルがあるレベルです)では、新しいフォルダを作成します(名前は関係ありません。通常は "lib"を使用します)。そこで参照されるDLLをコピーします。 VSでは、プロジェクトを選択して[すべてのファイルを表示]ボタンをクリックすると、すべてのファイルが表示されていることを確認してください。 "Refresh"を押し、フォルダ(灰色表示)を右クリックし、 "Add to project"をクリックします。DLLのビルドスタイルを "NONE"に設定し、新しいフォルダからDLLへの参照を追加します。 –

4

で実行されます

はあなたのプロジェクト参照リストにDLLを追加しましたか? プロジェクト "References"フォルダを右クリックせずに "Add Reference"を選択し、browseを使用してscience.dllを探し、それを選択して[OK]をクリックします。

編集

私は何人かの人々が参照していると私はあなたが今、それはNet4.0とVS2010で動作することを言うことに注意していることを、あなたのVSのインスタンスの画像を見ることができません。

VS2008プロジェクトは、デフォルトでNET 3.5をサポートしています。あなたのDLLがNET 4.0に準拠していてもNET 3.5ではないので、それが問題だと思います。

2

ソリューションエクスプローラーの下の右側の列に、警告としてマークされた「サイエンス」への参照の横に表示されます。どちらかといえば、それを見つけることができないか、何か他の理由でそれに反対しているということです。これが当てはまり、あなたのコードはそれを必要としますが(参照リストだけでなく)、コンパイルされません。

警告メッセージを投稿してください。お手伝いをしてください。

関連する問題