Open ROMYIM opened 3 months ago
FreeSql懒加载类型编译错误。说没有找到FreeSql.dll的元数据
该报错来自.net framework。.net standard没有问题。
引入FreeSql.Extensions.LazyLoding进行调试如下:
进入到代理类型编译源码。
可以获取到IFreeSql类型,以及所对应的程序集文件FreeSql.dll. 由属性CodeBase看出获取到的程序集是我项目下引用的程序集,是没有问题的。 但是调用Assembly.Location的属性就返回了C盘.net framework的一个缓存目录下。
IFreeSql
FreeSql.dll
CodeBase
Assembly.Location
所以后续就引发异常,说没有找到对应的元数据。
感觉像是Assembly.Location这个属性返回的数据有问题。不知道为什么返回的是系统net framework的临时文件目录而不是dll所在的真实目录
sql server 2014
freesql 3.2.689系列
.net framework 4.8
.net framework版本[依赖冲突],可能导致动态编译失败
但是.net framework 4.8不是 实现.net standard 2.0吗?为什么最终运行不是按.net standard 2.0那段代码去编译执行,而是往下面那段代码执行了。下面段代码是针对.net core 的吧
问题描述及重现代码:
FreeSql懒加载类型编译错误。说没有找到FreeSql.dll的元数据
该报错来自.net framework。.net standard没有问题。
引入FreeSql.Extensions.LazyLoding进行调试如下:
进入到代理类型编译源码。
可以获取到
IFreeSql
类型,以及所对应的程序集文件FreeSql.dll
. 由属性CodeBase
看出获取到的程序集是我项目下引用的程序集,是没有问题的。 但是调用Assembly.Location
的属性就返回了C盘.net framework的一个缓存目录下。所以后续就引发异常,说没有找到对应的元数据。
感觉像是
Assembly.Location
这个属性返回的数据有问题。不知道为什么返回的是系统net framework的临时文件目录而不是dll所在的真实目录数据库版本
sql server 2014
安装的Nuget包
freesql 3.2.689系列
.net framework/. net core? 及具体版本
.net framework 4.8