UWP 的发布包构建失败

Release Package Build Failing for UWP

我为 windows10 构建了一个通用应用程序,但我不知道原生工具链。当我准备好创建包时,我遇到了很多错误,我在寻找解决方案时运气不佳。

经过几次尝试后,我决定在测试项目中逐个使用我的应用程序来查看问题所在,在添加 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% 的可用内存。

希望有人能帮帮我。

谢谢,

皮波

您可以尝试从此文件中删除 *Application* 指令:Properties\Default.rd.xml。它指示 .NET Native 编译器对其 saves/generates 的信息过于慷慨,这可能是导致 OOM 的一个因素。通过删除此指令允许的更保守的行为可能会释放足够多的无关工作以允许编译器完成。但是,这可能会导致编译器过度优化您的应用程序,因此您需要在此配置中仔细测试它,并且可能需要将一些更具体的指令添加回 .rd.xml 文件以便完全获得重新站起来。

我们在 Update 2 中进行了一些修复,这些修复应该可以帮助像您这样依赖许多具有大量 reflection/high 泛型的框架的应用程序。

安装 visual studio 2015 update 3 并从 EF7 切换到 EF core 后,我已经解决了所有问题,也可通过 nuget

您可能正在为 Visual Studio 2015 Update 2 使用非英语 UI 并尝试构建 UWP 应用的发布版本。

下载语言包:http://go.microsoft.com/fwlink/?LinkId=647001&clcid=0x409

学分:http://pwnd.io/uwp-release-compile-error-ilt0005/