2016-06-29 48 views
0

我有3個項目如何解決這個多項目命名空間問題?

  1. Company.Project
  2. Company.Project.Business(裏面夾的接口,包含ISomeService)
  3. Company.Project.Web

在我SomeController我試圖做到這一點:

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

但我得到這個消息

類型或命名空間名稱「業務」不存在命名空間「Company.Project」存在(是否缺少程序集引用?)

我已經導入了Company.Project.Business引用到我的網站項目並添加

using Company.Project.Business.Interfaces; 

SomeControlller類的頂部,但我得到的紅色波浪下的企業表示有Company.Project下沒有Business類,我應該CREA它(我不需要做,因爲我真的只是試圖使用該項目Company.Project.Business

解決方案: 正如@Tim所提到的,Company.Project.Business不會編譯,因爲在錯誤的合併進入其.csproj期間,我重複了類名。再次感謝@Tim!

+0

該文件夾不相關,實際上是'ISomeService'在'Company.Project.Business.Interfaces'的命名空間範圍內嗎? –

+2

當你說導入時,你的意思是你添加了項目作爲消費項目的參考(即,將Company.Project.Business添加到Company.Project.Web項目中)? – Tim

+0

公務艙是公開的嗎? – Spikolynn

回答

0

由於@Tim在上面的評論中提到,Company.Project.Business不會編譯,因爲在錯誤的合併進入它的.csproj的過程中,我重複了類名。選擇他的評論作爲答案。

1

您將引用添加到項目中,但在需要引用命名空間的代碼中。

在你的接口聲明中,你是如何指定你的名字空間的?它應該是這樣的:

namespace Company.Project.Business.Interfaces 

如果您聲明它只作爲Company.Project它不會工作。

+0

按照您的說法進行指定。但問題在於@Tim在上面的評論中提到,Company.Project.Business不會編譯,因爲錯誤的合併導致其中一個類的名稱重複。不管怎麼說,還是要謝謝你! – User123