我想在Visual中创建一个C# .Net dll作为企业架构师的外接程序.这个dll必须注册为com-interop才能被Enterprise使用.
在这个dll中,我还想使用代码优先和nuget包microsoft.entityframework.core进行数据库迁移。如果未选中项目属性生成中的com-interop复选框,则此数据库迁移可以在visual studio中的paket管理器控制台中正常工作。如果检查过,我的dll无法编译。错误信息是:
程序集“.dll”不能注册。程序集“DisposeAsync,Version3.1.8.”中"Microsoft.EntityFrameworkCore.DbContext“类型的"Microsoft.EntityFrameworkCore”方法没有实现。
在我的原始代码中,我没有任何类型的处置或类似的函数。这是一个简单的项目,有几行代码。我试图在nuget包管理器中使用较早版本的Microsoft.EntityFrameworkCore来管理它,但是没有帮助。此外,我还在代码中重写了DisposeAsync函数,但这也没有帮助。
相关代码位于上下文类中,与DbContext的行相同:
using Microsoft.EntityFrameworkCore;
namespace ...
{
public class .. : DbContext
{在谷歌,我找不到任何东西,所以请帮助我。
发布于 2021-06-23 07:36:43
这个问题可能是由您的项目中的不同组装版本以及您的插件集成的产品中引起的。
示例:
在project
尝试发现您需要在项目中更改哪个程序集版本,以避免dll版本不匹配。尝试使用FusionLog进行调查。请注意,问题dll可能不是Microsoft.EntityFrameworkCore,而是EntityFramework所依赖的任何程序集。不幸的是,没有直接的指导来解决你的问题。动态地将程序集添加到第三方程序集是一件非常棘手的事情。
https://stackoverflow.com/questions/63831448
复制相似问题