我为Windows 10构建了一个通用应用程序,但我并不了解Native Tool链。当我准备创建包时,我遇到了很多错误,我找不到任何运气的解决方案。
经过几次尝试后,我决定将我的应用程序一块一块地放在一个测试项目中,看看有什么问题,我添加了Mvvm Light 5.2的ViewModelLocator后出现了以下错误:
NUTC300F:Internal Compiler Error: Native compilation failed due to out of memory error
ILT0005: 'C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\x86\ilc\Tools\nutc_driver.exe
@"C:\...\Test\obj\x86\Release\ilc\intermediate\MDIL\Test.rsp"' returned exit code 1
Warning Method 'CreateLambda' within 'System.Linq.Expressions.Expression' could not be found.
C:\....\Test\Resources.System.Linq.Expressions.rd.xml 35
Warning Method 'ParameterIsAssignable' within 'System.Linq.Expressions.Expression' could not be found.
C:\....\Test\Resources.System.Linq.Expressions.rd.xml 91
这是我的ViewModelLocatorClass
public class ViewModelLocator
{
public const string HeroDetailsPageName = "HeroDetails";
public ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
var nav = new NavigationService();
nav.Configure(HeroDetailsPageName, typeof(HeroDetails));
SimpleIoc.Default.Register<INavigationService>(() => nav);
SimpleIoc.Default.Register<IDialogService, DialogService>();
if (ViewModelBase.IsInDesignModeStatic)
{
SimpleIoc.Default.Register<IHotSRepository, DesignDataSource>();
}
else
{
SimpleIoc.Default.Register<IHotSRepository, HotSRepository>();
}
SimpleIoc.Default.Register<MainViewModel>();
}
public MainViewModel Main => ServiceLocator.Current.GetInstance<MainViewModel>();
}
我也在使用SQLite3,ef7 rc1,Newtosoft Json和HTML敏捷包。我已经按照所有建议来编写EF7。我删除了obj文件夹,重新启动了Visual Studio,找到了关于问题的所有线程,没有任何运气。 我的机器有16GB的内存,看着任务管理器,当我收到错误时,我有大约50%的可用内存。
我希望有人可以帮我一些。
谢谢,
皮波
答案 0 :(得分:1)
可能您正在使用Visual Studio 2015 Update 2的非英语用户界面并尝试构建UWP应用程序的发布版本。
下载语言包:http://go.microsoft.com/fwlink/?LinkId=647001&clcid=0x409
答案 1 :(得分:0)
您可以尝试从此文件中删除* Application *指令:Properties \ Default.rd.xml。它指示.NET Native编译器对它保存/生成的信息过于慷慨,并且可能是OOM的一个促成因素。通过删除此指令允许的更保守的行为可以释放足够的无关工作,以允许编译器完成。但是,这使您可以通过优化应用程序向编译器开放,因此您需要在此配置中仔细测试它,并且可能需要将一些更具体的指令添加回.rd.xml文件以便完全恢复你的脚。
我们在Update 2中有一些修复,它们可以帮助像你这样的应用程序依赖于许多具有大量反射/大量泛型的框架。
答案 2 :(得分:0)
我安装了visual studio 2015更新3后,我已经解决了所有问题,并从EF7切换到EF core也可以通过nuget