2016-09-18 2 views
1

ソリューションの両方を追加した後、usingディレクティブまたはアセンブリ参照が不足しては、2つのプロジェクトが含まれますCodeRepositoryクラスが含まれてい彼らに

Geo.Dataプロジェクト、名前空間Geo.Data

ConsoleApp1プロジェクトで定義されているが、ここでI CodeRepositoryを他のプロジェクトからインスタンス化したいProgram.csクラスがあります。

したがって、ConsoleApp1にプロジェクト参照 - Geo.Data \ Bin \ Debug \ Geo.Data.dllからアセンブリを追加します。また、Program.csの上にusingディレクティブを追加します:Geo.Dataを使用します。

using Geo.Data; 

namespace ConsoleApp1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Geo.Data.CodeRepository x = new Geo.Data.CodeRepository(); 
     // here, if I add x. after the dot I can all methods listed (from class CodeRepository) 
    } 
    } 
} 

しかし、私は解決策を実行しているときにエラーが出るんGeo.Data

の一部であると認識していますのでCodeRepositoryは、それに応じて着色されています。ただ、私が間違っているのか見ていない:

型または名前空間名「ジオ」が見つかりませんでした(あなたは、ディレクティブまたはアセンブリ参照を使用して 不足している?)ConsoleApp1 \ Program.csを

すでに説明したように、Geo.DataとGeo.Dataへのアセンブリ参照の両方を既に追加しています。これはdiffの名前空間の矛盾ですか?ありがとう。 また、usingディレクティブに最初の文字 "G"を書き込んだ後、Intellisenseを使用してGeoを使用することを提案しました。その時点でそれを見つけることができます。問題は私がプロジェクトを実行するときです。エラーはusingディレクティブを指しています。ありがとう!

+1

geo.data .netの依存関係はConsoleApp1プロジェクトよりも高くなっていますか? Geo.Dataの – rlee

+0

ConsoleApp1でインスタンス化しようとしているクラスのアクセスレベルは何ですか? – Mansoor

+0

IDEとしてVisualStudioを使用していますか? Visual Studioで右クリックしてConsoleApp1のGeo.Dataプロジェクトを参照して参照する方が良いでしょう。 – Mansoor

答えて

0

Geo.Dataをライブラリとして参照する場合は、ソリューションエクスプローラでプロジェクトを右クリックし、[プロパティ]を選択し、[出力タイプ]を[ライブラリ]に変更する必要があります(Geo.Dataはこれを行うならば、あなたのソリューションの一部です。あなたはGeo.Dataを他の場所に構築します)。

Geo.Dataをソリューションの一部にする(編集、更新、同時にビルドする)場合は、ADD REFERENCEで参照を追加し、参照ウィンドウの右側にある共有プロジェクトを選択します。