我们有一个WPF应用程序,它使用Unity来解决它的依赖关系。它在不同的计算机上运行良好,但是如果我们尝试在具有2 GB RAM(英特尔计算棒)的英特尔凌动处理器的计算机上运行它,我们在使用此行初始化统一时会得到System.OutOfMemoryException:
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:Microsoft.Practices.Unity Problemsignatur 05:3.5.1404.0 Problemsignatur 06:5355503f Problemsignatur 07:9f Problemsignatur 08:b Problemsignatur 09:System.OutOfMemoryException Betriebsystemversion:6.3.9600.2.0.0.768.101 Gebietsschema-ID:1031 Zusatzinformation 1:5861 Zusatzinformation 2: 5861822e1919d7c014bbb064c64908b2 Zusatzinformation 3:31c4 Zusatzinformation 4:31c4f0c30ca267a761c69930266146b1
我们还从https://www.microsoft.com/en-us/download/details.aspx?id=38788下载了旧版本(3.0)。有了这个版本,一切正常。
有人有想法吗?
此致 克里斯
答案 0 :(得分:0)
我认为您需要在界面和实现之间提供映射。
例如:
let myDict = ["1": "one","2": "tow","3": "three"]
let mappedDict = myDict.reduce([:]) { (result, pair) -> [String: String] in
var result = result
result["0" + pair.key] = pair.value.uppercased()
return result
}