2012-02-01 105 views
0

我想解析一個類型,而不需要引用類型所在的項目。 我希望Resolve能夠在運行時加載正確的程序集。統一 - 通過配置解決而不參考類型

問題是=在運行時我決定使用哪種類型...並根據這個我想加載正確的程序集。

我該怎麼辦?

謝謝

+0

你可以通過反射來完成,但它很慢且容易出錯。 – user1096188 2012-02-01 07:33:28

+0

當然,我不想使用反思......這就是爲什麼我使用團結 – Guy 2012-02-01 07:37:35

回答

0

你對Unity有何看法? Vodoo?

您可以使用app/web.config配置Unity,只需將所需的程序集放到您的應用程序基本文件夾中即可。但這是設計時的配置。

或者您使用代碼來配置容器,該容器可讓您使用Assembly.Load訪問所有未由您的應用程序域直接引用的程序集。那麼你將不得不使用某種反射來提取將被動態註冊的類型。

或者您可以跳過「讓我們變得更加動態」的方法,並引用某種引導程序中的所有必要程序集。

第三種選擇是模塊化代碼配置並使用約定在運行時註冊這些模塊。 Unity不支持第三種方法,但在TecX project中有一個可用的StructureMap配置引擎的端口。請參閱文檔或TecX.Unity.Configuration項目中的代碼。測試可用來演示它的工作原理。

+0

它可以做Vodoo它將是偉大的:)我希望它已經註冊組裝。我會檢查TecX項目......謝謝 – Guy 2012-02-01 08:08:24

+0

@Guy對不起,但魔術不是P&P日常業務的一部分。如果我的回答有用,否則如果你可以標記爲好,那將是非常好的。謝謝 – 2012-02-01 08:59:17