【发布时间】:2016-06-07 13:17:20
【问题描述】:
我有一个项目在调试模式下运行良好,但在发布模式下根本无法运行。
解决方案包含 3 个项目
-
共享项目
-
windows phone 8.1 项目
-
UWP 项目
这是错误输出
2>C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\x86\ilc\IlcInternals.targets(887,5): error : System.InvalidOperationException: Unable to generate a temporary class (result=1).
2>C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\x86\ilc\IlcInternals.targets(887,5): error : error CS0012: The type 'Windows.UI.Xaml.Visibility' is defined in an assembly that is not referenced. You must add a reference to assembly 'Windows.Foundation.UniversalApiContract, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime'.
2>C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\x86\ilc\IlcInternals.targets(887,5): error : error CS0030: Cannot convert type 'Windows.UI.Xaml.Visibility' to 'Windows.UI.Xaml.Visibility [e:\MyApp\obj\x86\Release\ilc\in\WinMetadata\Windows.winmd]'
2>C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\x86\ilc\IlcInternals.targets(887,5): error : error CS0029: Cannot implicitly convert type 'Windows.UI.Xaml.Visibility [e:\MyApp\obj\x86\Release\ilc\in\WinMetadata\Windows.winmd]' to 'Windows.UI.Xaml.Visibility'
2>C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\x86\ilc\IlcInternals.targets(887,5): error :
2>C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\x86\ilc\IlcInternals.targets(887,5): error : at System.Xml.Serialization.Compiler.Compile(String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence, String outputDir, String intermediateDir, Boolean loadAssembly)
2>C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\x86\ilc\IlcInternals.targets(887,5): error : at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Hashtable assemblies, String outputDir, String intermediateDir, Boolean loadAssembly)
2>C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\x86\ilc\IlcInternals.targets(887,5): error : at System.Xml.Serialization.XmlSerializer.GenerateSerializer(Type[] types, XmlMapping[] mappings, CompilerParameters parameters, String outputDir, String intermediateDir, Boolean loadAssembly)
2>C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\x86\ilc\IlcInternals.targets(887,5): error : at System.Xml.Serialization.XmlSerializer.GenerateSerializer(Type[] types, String outputDir, String intermediateDir, List`1 wcfSerializers, Boolean loadAssembly)
2>C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\x86\ilc\IlcInternals.targets(887,5): error : at SerializationAssemblyGenerator.Program.Main(String[] args)
2>C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\x86\ilc\IlcInternals.targets(887,5): error : Internal compiler error: One or more errors occurred.
我使用的 nuget 包是
"GoogleAnalyticsSDK": "1.2.12",
"HockeySDK.UWP": "4.0.0",
"HtmlAgilityPack": "1.4.9",
"Microsoft.ApplicationInsights": "1.0.0",
"Microsoft.ApplicationInsights.PersistenceChannel": "1.0.0",
"Microsoft.ApplicationInsights.WindowsApps": "1.0.0",
"Microsoft.NETCore.UniversalWindowsPlatform": "5.1.0",
"MvvmLightLibs": "5.1.1",
"Newtonsoft.Json": "8.0.3",
"WriteableBitmapEx": "1.5.0"
更新
我尝试手动添加 Windows.Foundation.UniversalApiContract,但得到了这个
更新 2
在我取消选中 Compile with .Net Native 工具链功能后,它就起作用了。
有什么方法可以使用 .net 原生工具链来构建它?
【问题讨论】:
-
“您必须添加对程序集 'Windows.Foundation.UniversalApiContract, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime'的引用” -似乎相关。
-
不,这应该是自动添加的,请检查更新的问题。
-
您不能相信在第一次严重事故之后收到的错误消息。对 .NET Native 编译器进行故障排除远远超出了您的问题范围,它需要有权访问您的代码并且对编译器有足够了解的人才能找到该编译器中的错误或建议您的代码中的解决方法。您只能在 Microsoft 支持部门找到该人员。
-
解决了 .NET Native 的一些问题,并且是 Visual Studio 2015 Update 2 的一部分。您能否确认您是否安装了最新的 VS 更新?您也可以通过 dotnetnative@microsoft.com 直接与团队联系,我们很乐意提供帮助(因为我们很可能无法通过这些步骤重现问题)。
-
是的,我已经安装了最新的 VS 更新。
标签: windows-10 uwp