我正在开发一个使用SQLite的.NET Maui Blzor应用程序,我在发布模式下的构建过程中遇到了一个问题。特定的错误消息与AOT(提前)编译有关。下面是错误消息:
第一个月
我尝试了几种解决方案,例如确保所有必需的程序集都存在,清理和重建解决方案,但问题仍然存在。
当我为整个解决方案禁用AOT时,一切都构建得很好。但是,我想了解这个问题是否可以在启用AOT的同时解决,因为它具有性能优势。此外,我尝试使用项目的.csproj文件中的<EnableAOT>false</EnableAOT>
禁用DB项目的AOT,但没有任何帮助。
其他人有没有遇到过类似的问题?有没有一种方法可以只为一个项目禁用AOT?或任何其他建议如何解决这个错误与AOT启用?任何帮助将不胜感激!
1条答案
按热度按时间o2rvlv0m1#
我已经找到了问题的根本原因。这个问题是由于我使用了
System.Data.SQLite.EF6
包库中的Microsoft.EntityFrameworkCore
。正确的方法是使用
Microsoft.EntityFrameworkCore.Sqlite.dll
包中的Microsoft.EntityFrameworkCore
。切换到
Microsoft.EntityFrameworkCore.Sqlite
并删除System.Data.SQLite
、System.Data.SQLite.EF6
后,AOT编译错误消失,构建过程在发布模式下成功完成,AOT开启。我希望这个更新可以帮助任何可能在未来遇到类似问题的人。