尝试在发布模式下编译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