2011-06-13 57 views
0

我知道如何在引導程序 通過覆蓋註冊組裝 - >保護覆蓋無效ConfigureContainer()團結不是從配置文件中註冊組件

,但我想註冊的配置文件

我添加統一部向app.confg

<register type="namespace.Iinterface, assembly, Version=1.0.0.0, Culture=neutral" 
      mapTo="namespace.class,assembly"> 
    <lifetime type="singleton" /> 
    <constructor> 
     <param name="file" value="xml"/> 
    </constructor> 
    </register> 

</container> 

這個班級沒有註冊我失蹤了嗎?

+0

你會得到哪個錯誤? – onof 2011-06-13 08:40:06

+0

當試圖解決它說的類型沒有註冊 – shlomtzi 2011-06-14 14:37:40

回答

0

我不確定我是否理解「註冊彙編」的含義,因爲這不是Unity庫,文檔或代碼庫中任何地方使用的術語。我猜你只是想加載你的配置。

假設你是在正確的配置文件(用於應用程序的app.config/web.config文件,.DLL文件沒有配置文件),那麼你需要:

  1. 參考Microsoft.Practices .Unity.Configuration.dll在您的項目中。
  2. 將「using Microsoft.Practices.Unity.Configuration」添加到包含您的容器初始化代碼的源文件的頂部。
  3. 請致電:

    container.LoadConfiguration();

這會從默認配置文件中默認部分(名爲unity)的默認(未命名)容器元素中加載您的配置。如果您想要改變這些默認值,可以選擇多種選項進行自定義。

Container.LoadConfiguration是一個擴展方法,所以如果省略using語句(上面的第2步),調用將會編譯而不是

+0

配置文件被加載,我想要做的是註冊類型/類/ interfac爲了在代碼中使用它,意味着以後要解決<>() 。所以我註冊我的interfcae在配置中,並沒有註冊在容器 – shlomtzi 2011-06-14 13:42:34

+0

然後,我真的需要看到一個小而完整的例子,演示了這個問題,包括加載配置的代碼和調用解析的代碼。 – 2011-06-14 18:37:51