2016-06-29 22 views
0

私は3つのプロジェクトこのマルチプロジェクトの名前空間の問題を解決するにはどうすればよいですか?

  1. Company.Project
  2. Company.Project.Businessを持っている私のSomeControllerで
  3. Company.Project.Web

(内部ISomeServiceが含まれているInterfacesフォルダは、あり)私はこれをやろうとしています:

private readonly Company.Project.Business.Interfaces.ISomeService _someService; 

私はこのメッセージを受け取ります

型または名前空間名「ビジネス」を名前空間に存在しない「Company.Project」(あなたは、アセンブリ参照が不足している?)

私は自分のWebにCompany.Project.Business参照をインポートしましたプロジェクトでは、とSomeControlllerクラスの最上部に

using Company.Project.Business.Interfaces; 

を追加しましたが、私はCompany.Project下にはBusinessクラスが存在しないことを示すビジネスの下に波線赤取得し、私はクレアなければならないこと私は実際にはプロジェクトCompany.Project.Businessを使用しようとしているので、これを行う必要はありません。

解決済み: @Timが指摘したように、悪いマージ中にクラス名が重複していたため、Company.Project.Businessはコンパイルされませんでした。もう一度@ティムありがとう!

+0

フォルダは関係ありません。 'ISomeService'は実際には' Company.Project.Business.Interfaces'の名前空間の範囲内にありますか? –

+2

インポートと言うと、プロジェクトをコンシューマプロジェクトへの参照として追加した(つまり、Company.Project.BusinessをCompany.Project.Webプロジェクトに追加した)ということですか? – Tim

+0

ビジネスクラスは公開されていますか? – Spikolynn

答えて

0

@Timは上記のコメントに記載されているように、私は悪いマージの間にクラス名が重複していたため、Company.Project.Businessはコンパイルされませんでした。彼のコメントを答えとして選択する。

1

プロジェクトへの参照を追加しますが、コード内では名前空間を参照する必要があります。

インターフェイスの宣言で、ネームスペースをどのように指定しましたか?

namespace Company.Project.Business.Interfaces 

これは、Company.Projectとしてのみ宣言すれば動作しません。

+0

あなたの言ったとおりに指定されています。しかし、この問題は上記のコメントで言及されたとおり、Company.Project.Businessは悪いマージのためにコンパイルされず、その結果、クラスの名前が重複していました。とにかくありがとう! – User123

関連する問題