2015-10-07 64 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); 
相关问题