FreeSql icon indicating copy to clipboard operation
FreeSql copied to clipboard

懒加载类型编译错误,但有可能是微软的bug

Open ROMYIM opened this issue 1 year ago • 2 comments

问题描述及重现代码:

FreeSql懒加载类型编译错误。说**没有找到FreeSql.dll的元数据**

该报错来自.net framework。.net standard没有问题。

引入FreeSql.Extensions.LazyLoding进行调试如下:

image 进入到代理类型编译源码。

可以获取到IFreeSql类型,以及所对应的程序集文件FreeSql.dll. 由属性CodeBase看出获取到的程序集是我项目下引用的程序集,是没有问题的。 但是调用Assembly.Location的属性就返回了C盘.net framework的一个缓存目录下。

image

所以后续就引发异常,说没有找到对应的元数据。 image

感觉像是Assembly.Location这个属性返回的数据有问题。不知道为什么返回的是系统net framework的临时文件目录而不是dll所在的真实目录

数据库版本

sql server 2014

安装的Nuget包

image freesql 3.2.689系列

.net framework/. net core? 及具体版本

.net framework 4.8

ROMYIM avatar Aug 26 '24 02:08 ROMYIM

.net framework版本[依赖冲突],可能导致动态编译失败

2881099 avatar Aug 26 '24 02:08 2881099

但是.net framework 4.8不是 实现.net standard 2.0吗?为什么最终运行不是按.net standard 2.0那段代码去编译执行,而是往下面那段代码执行了。下面段代码是针对.net core 的吧

ROMYIM avatar Aug 27 '24 01:08 ROMYIM