簡體   English   中英

沒有無參數構造函數,結構圖,新區域

[英]No parameterless constructor, structuremap, new area

我知道錯誤“沒有為此對象定義的無參數構造函數”已被問過一百萬次。 我的情況有所不同

我有一個工作的應用程序。 許多控制器和一個有很多控制器的區域。 我剛剛添加了一個新區域。 我添加了一個控制器,然后是該控制器的鏈接。 現在我得到“為此對象定義的無參數構造函數”錯誤

我之前已經看到並克服了這個問題,但它實際上只發生在每5個月一次。 每次我完全忘記(壓抑)答案。

請幫忙

RAIF

好吧,似乎有幾個原因可能會出現這個錯誤。 毫不奇怪,他們都沒有@#$%與沒有無參數構造函數有關。 我知道的兩個是

1)如果您正在使用某個區域,並且您將控制器從一個名稱空間移動到新名稱空間,並且不更新名稱空間以反映您將收到此錯誤的區域。

2)這是我現在的情況,如果你在控制器的構造函數中注入一些東西,你注入的項目有問題(沒有實例化,或者它沒有在你的IOC注冊或其他運行時錯誤中注冊) )你會得到這個錯誤。

如果人們可以想到別人,他們應該在這里列出它們,因為我認為還有幾個原因導致錯誤。 [R

雖然我意識到這並沒有真正回答你的問題,但你的答案在我的故障排除工作中幫助了我。

我最近在使用MVC Contrib項目的MVC Portable Area時遇到了同樣的問題。 我發現在IOC注冊期間掃描組件時,必須還包括便攜式區域所具有的任何dll依賴性,這類似於以下內容:

ObjectFactory.Initialize(x => x.Scan(y =>
    {
        y.Assembly("PortableAreaAssemblyName");
    }));
ObjectFactory.Configure(x =>
    {
        x.For<IClassInterfaceUsedByControllerConstructor>().Use<IntendedClassInstance>();
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM