2016-12-22 39 views
2

我在我的項目(Asp.net 4.5.1)中使用Visual Studio 2013。我用NuGet在我的項目中添加StructureMapStructureMap可插入的類型或命名空間無法找到

我的解決方案的結構是:

  1. MyProjectWeb(創建第一)
  2. MyProjectCore(添加第二個解決方案)
  3. MyProjectWebTest(追加第三到解決方案)
  4. MyProjectCoreTest(添加 第四到解決方案)

然後,我剛加入StructureMap,在MyProjectCore中創建數據庫文件夾 並在DataBase文件夾下創建Impt。

另外,我增加了以下類(代碼示例中的類似乎是在同一個文件,但在現實中,他們在不同的文件)

using System.Collections.Generic; 
using System.Ling; 
using System.Data.Lina; 
using StructureMap; 

namespace MyProject.MyProject.DataAccess.Impl 
{ 
    [Pluggable("Default")] 
    public class MyClass : IMyClass 
    { 
    // Code Goes Here 
    } 
} 

namespace MyProject.MyProject.Core.DataAccess 
{ 
    [PluginFamily("Default")] 
    public interface IMyClass 
    { 
     // Code goes here 
    } 
} 

我得到了可怕的類型或命名空間無法找到對於PluggablePluginFamily

我在這裏錯過了什麼?

注意:已經做了大量的研究,似乎無法找到明確的解決方案。對於Clearity來說,這是一個我正在嘗試重新創建的webapp項目,以及舊的webapp項目,以獲取和理解底層架構,以便我可以遷移到MVC平臺。任何幫助將不勝感激凱文

+0

該代碼應該讀取MyClass:IMyClass忘記鍵入它,就像我發佈問題時仍然有問題。 –

回答

0

你確保項目設置爲掃描程序集的屬性?

public class ScanningRegistry : Registry { public ScanningRegistry() { Scan(x => { x.Assembly("MyProject.MyProject.Core.DataAccess"); }); } } 

做不到這一點,是有你在使用屬性的任何特別的理由說Registry DSL

+0

這是我第一次使用StructureMap。正如我之前所說的那樣,這是一箇舊WebApp,我試圖將它帶回到一個可以正常工作的狀態,以便我可以遵循編碼邏輯。第二,在哪裏放置你上面列出的聲明。在什麼文件或什麼位置?到目前爲止,註冊表DSL我對此一無所知?一直在閱讀在線文檔,但它不是很清楚它接觸到我。 –

相關問題