none
UWP Debug通过,但是Release报错 RRS feed

  • 问题

  • 报错信息:

    1>C:\Program Files (x86)\MSBuild\15.0\.Net\.NetNative\15.0.24211\x64\ilc\IlcInternals.targets(936,5): error : Internal compiler error: 未将对象引用设置到对象的实例。

    这个怎么解决呢,求指点,谢了

    2017年7月17日 6:05

答案

  • 您好,

    出现这种情况,是因为在release模式下,项目的编译选项会启用.NET Native

    这是一种用于编译UWP应用的预编译技术,它会将编译托管IL二进制文件到本地的二进制文件。每个托管(C #或VB)通用的Windows应用程序将利用这项新技术。更多关于.NET Native的信息,你可以参考MSDN: Compiling Apps with .NET Native 

    因此,你这个问题,其实还是需要你进行调试的,因为如果只是看你提供的信息,只能知道你可能有个对象没有实例化,但是具体在哪里,还是无法准确定位的。

    你如果不知道如何在release模式进行调试,可以参考文档上 .NET Native General Troubleshooting 的部分。

    或者,你也可以根据这边博客上提到的,借助一下开源分析库 Microsoft.NETNative.Analyzer 去看异常信息。

    博客链接: .NET Native – What it means for Universal Windows Platform (UWP) developers 

    这里提供的文档博客链接都是英文的,因为这部分暂时还没有中文文档,如果阅读英文有难度,可以借助一下翻译工具,谢谢理解!


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已建议为答案 SunYang1314 2017年7月20日 6:12
    • 已标记为答案 若空 2017年8月10日 7:53
    2017年7月18日 9:45
    版主

全部回复

  • IlcInternals.targets 文件 936行为:

        <ILTransformTask
          InputAssembly="@(ResolvedCoreAssemblyPath)"
          OutputAssembly="@(IntermediateILTransformedTarget)"
          ILTransforms="@(ILTransform)"
          CoreAssemblyName="$(CoreAssemblyName)"
          LibPaths="@(ILTransformLibPaths)"
          PlatformWinMDFiles="@(TargetPlatformSdkWinMDFiles)"
          SaveILAfterEachTransform="$(SaveILAfterEachTransform)"
          RoundTripILAfterEachTransform="$(RoundTripILAfterEachTransform)"
          RunMetadataValidator="$(RunILTransformMetadataValidator)"
          DeepCopyAssembly="false"
          WellKnownTypesPath="$(ILToolchainDll)"
          UseILOutputPrefix="true"
          SuppressWarnings="$(ILTransformSuppressWarnings)"
          ExceptionLoggerPtr="$(ExceptionLogger)"
          SkipWritingTransformedAssembly="true"
          InternalFeatureSwitches="@(InternalFeatureSwitches)"
        >

    2017年7月17日 6:27
  • 你好,

    这个论坛主要讨论VS IDE使用,您的问题偏向于UWP开发,我帮助您把这个帖子移到相关论坛以得到更加专业的解答。

    感谢您的理解与配合。


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年7月18日 7:40
  • 您好,

    出现这种情况,是因为在release模式下,项目的编译选项会启用.NET Native

    这是一种用于编译UWP应用的预编译技术,它会将编译托管IL二进制文件到本地的二进制文件。每个托管(C #或VB)通用的Windows应用程序将利用这项新技术。更多关于.NET Native的信息,你可以参考MSDN: Compiling Apps with .NET Native 

    因此,你这个问题,其实还是需要你进行调试的,因为如果只是看你提供的信息,只能知道你可能有个对象没有实例化,但是具体在哪里,还是无法准确定位的。

    你如果不知道如何在release模式进行调试,可以参考文档上 .NET Native General Troubleshooting 的部分。

    或者,你也可以根据这边博客上提到的,借助一下开源分析库 Microsoft.NETNative.Analyzer 去看异常信息。

    博客链接: .NET Native – What it means for Universal Windows Platform (UWP) developers 

    这里提供的文档博客链接都是英文的,因为这部分暂时还没有中文文档,如果阅读英文有难度,可以借助一下翻译工具,谢谢理解!


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已建议为答案 SunYang1314 2017年7月20日 6:12
    • 已标记为答案 若空 2017年8月10日 7:53
    2017年7月18日 9:45
    版主
  • 谢了,我发现问题了,是因为有几个控件没有删除干净,在Debug不报错,Release就报错了。
    2017年8月10日 7:51