2015-10-07 68 views
0

我們有一個WPF應用程序,它使用Unity來解析它的依賴關係。它工作正常,在不同的計算機,但是,如果我們試圖與2 GB RAM(英特爾計算棒)採用Intel Atom處理器的機器上運行它,我們這一行統一初始化時得到的System.OutOfMemoryException:在wpf應用程序和2gb ram系統中使用unityContainer

var unityContainer = new UnityContainer(); 

這機器在Windows 8,32位上運行。

我們也嘗試創建一個簡單的新應用程序,除了Unity之外沒有任何依賴關係,除了創建UnityContainer之外什麼都不做 - 我們總是得到異常。

我們使用NuGet包(3.5.1404.0)。

以下是我們從系統中得到異常的詳細信息:

Problemsignatur:Problemereignisname:CLR20r3 Problemsignatur 01: WpfApplication1.exe Problemsignatur 02:1.0.0.0 Problemsignatur 03: 5566d036 Problemsignatur 04:微軟.Practices.Unity Problemsignatur 05:3.5.1404.0 Problemsignatur 06:5355503f Problemsignatur 07:9F Problemsignatur 08:乙Problemsignatur 09:的System.OutOfMemoryException Betriebsystemversion:6.3.9600.2.0.0.768.101 Gebietsschema-ID:1031 Zusatzinformation 1:5861 Zusatzi載文信息2: 5861822e1919d7c014bbb064c64908b2 Zusatzinformation 3:31c4 Zusatzinformation 4:31c4f0c30ca267a761c69930266146b1

我們也從https://www.microsoft.com/en-us/download/details.aspx?id=38788下載的舊版本(3.0)。有了這個版本,一切正常。

有沒有人有想法?

的問候, 克里斯

+0

你有https://github.com/unitycontainer/unity的源代碼,你可以嘗試下載,添加到樣本應用程序,崩潰和調試。 – jlvaquero

+0

我沒有任何IDE像計算機上的視覺工作室。所以我不能調試應用程序。 – probird

+0

我知道這是一個非常古老的線程,但我剛剛遇到類似的問題,並想知道是否曾經找到解決方案? – user1680766

回答

0

我認爲你需要提供接口和實現之間的映射。

例如:

public interface IInterfaceName { } 
public class InterfaceImpl : IInterfaceName { } 

IUnityContainer container = new UnityContainer(); 

container.RegisterType<IInterfaceName,InterfaceImp(typeof(InterfaceImpl).Name); 
IInterfaceName interfaceClass = container.Resolve<IInterfaceName(typeof(InterfaceImp).Name); 
相關問題