我有一个解决方案,其中我的主要项目是uwp应用程序,该应用程序引用了另外两个项目:


UWP App --->参考2。
通用类库---->参考3。
PCL库


2->使用EF7和SQLight。

3->使用PCLCrypto

现在,当我使用针对本地计算机的Debug模式x86时,一切工作都很好。

我想使用.Net native tool chain在发布模式下编译解决方案,这是我的配置:

c# - 使用.Net native 在 Release模式下编译UWP应用时出现内存不足错误-LMLPHP

当我启动编译时,它花费了相当长的时间,并且.Net本机工具消耗了太多内存:

c# - 使用.Net native 在 Release模式下编译UWP应用时出现内存不足错误-LMLPHP

一段时间后,在Visual Studio上,一切都因两个错误而停止:

c# - 使用.Net native 在 Release模式下编译UWP应用时出现内存不足错误-LMLPHP

这是输出窗口显示的内容:


  1> ------开始构建:项目:ServerCommunication,配置:
  释放任何CPU ------ 1> ServerCommunication->
  C:\ Users \ aymen \ Documents \ Visual Studio
  2015 \ Projects \ Applinova \ Liberte \ ServerCommunication \ bin \ Release \ ServerCommunication.dll
  2> ------开始构建:项目:NewspaperDataLayer,配置:
  发行版x86 ------ 2> C:\ Users \ aymen \ Documents \ Visual Studio
  2015 \ Projects \ Applinova \ Liberte \ packages \ Microsoft.Bcl.Build.1.0.14 \ tools \ Microsoft.Bcl.Build.targets(225,5):
  警告:所有引用ServerCommunication.csproj的项目都必须
  安装nuget包Microsoft.Bcl.Build。有关更多信息,请参见
  http://go.microsoft.com/fwlink/?LinkID=317569。 2> NewspaperDataLayer
  -> C:\ Users \ aymen \ Documents \ Visual Studio 2015 \ Projects \ Applinova \ Liberte \ NewspaperDataLayer \ bin \ x86 \ Release \ NewspaperDataLayer.dll
  
  3> ------构建开始:项目:Liberte,配置:x86版本


-我刚刚跳过的一些警告


  3>启动.NET本机编译3>处理应用程序代码
  3> C:\ Users \ aymen \ Documents \ Visual Studio
  2015 \ Projects \ Applinova \ Liberte \ Liberte \ Resources.System.Linq.Expressions.rd.xml(35):
  警告:方法“ CreateLambda”内
  找不到“ System.Linq.Expressions.Expression”。
  3> C:\ Users \ aymen \ Documents \ Visual Studio
  2015 \ Projects \ Applinova \ Liberte \ Liberte \ Resources.System.Linq.Expressions.rd.xml(91):
  警告:方法“ ParameterIsAssignable”
  找不到“ System.Linq.Expressions.Expression”。 3>计算
  应用程序关闭并生成互操作代码3>生成
  序列化代码3>编译互操作代码3>清理
  未引用的代码3>生成本机代码3> STARTPROCESSTASK:
  错误:内存不足3> C:\ Program Files
  (x86)\ MSBuild \ Microsoft.NetNative \ x86 \ ilc \ IlcInternals.targets(1129,5):
  错误:ILT0005:'C:\ Program文件
  (x86)\ MSBuild \ Microsoft.NetNative \ x86 \ ilc \ Tools \ nutc_driver.exe
  @“ C:\ Users \ aymen \ Documents \ Visual Studio
  2015 \ Projects \ Applinova \ Liberte \ Liberte \ obj \ x86 \ Release \ ilc \ intermediate \ MDIL \ Liberte.rsp“'
  返回的退出代码1
  ==========构建:2成功,1失败,0最新,跳过0 ==========
  ==========部署:0成功,0失败,0跳过===========


请问这可能是什么问题??

最佳答案

我遇到了同样的问题(我也使用EF7和其他库),但是我使用了Visual Studio 15 preview解决了问题(这不是Visual Studio 2015 Update 2,我没有尝试过)。他们改进了.NET本机工具,因此,即使使用了大量的第三方库,您现在也不会遇到任何问题。

更新

我安装了Visual Studio 2015 Update 3并从EF7切换到EF core后也可以通过nuget解决所有问题

10-07 20:19