C#-UWP App发行版本中的System.TimeZoneNotFoundException

尝试在发布模式下编译UWP App时,出现以下错误ILT0025:发现类型’System.TimeZoneNotFoundException’的类型转发器不一致.该应用程序在调试模式下成功运行,没有任何错误.

当我将我的应用程序的最低版本和目标Windows版本从15063升级到16299时,问题开始了.由于我的应用程序的某些部分依赖于16299控件,因此无法进行降级.

我尝试添加对Microsoft.IdentityModel.Clients.ActiveDirectory v2.22.302111727的引用,正如它在https://github.com/dotnet/corert/issues/4768线程中所说的那样,甚至检查了该程序包的最新版本,但它没有做任何更改.

我的应用程序中包含以下软件包:

<PackageReference Include="Microsoft.AspNet.WebApi.Client">
  <Version>5.2.3</Version>
</PackageReference>
<PackageReference Include="Microsoft.IdentityModel.Clients.ActiveDirectory">
  <Version>3.17.1</Version>
</PackageReference>
<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
  <Version>6.0.1</Version>
</PackageReference>
<PackageReference Include="Newtonsoft.Json">
  <Version>10.0.3</Version>
</PackageReference>
<PackageReference Include="System.ValueTuple">
  <Version>4.4.0</Version>
</PackageReference>
<PackageReference Include="Xamarin.Forms">
  <Version>2.4.0.38779</Version>
</PackageReference>

还有其他人遇到过这个问题吗?您是如何解决的?

解决方法:

从您的项目中删除以下文件:

project.lock.json
* .nuget.props
* .nuget.targets

这个线程已经回答了这个问题:https://github.com/dotnet/corert/issues/4768

上一篇:自动化工具之三:pywinauto


下一篇:C#-UWP动画重置为“从”状态