admin管理员组文章数量:1644450
运行ABP MVC 版本的singlepage时,使用code first方式迁移数据库时,提现版本不对,如下所示:
PM> add-migration InitialCreate
System.IO.FileLoadException: 未能加载文件或程序集“Castle.Core, Version=4.1.1.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
文件名:“Castle.Core, Version=4.1.1.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc” ---> System.IO.FileLoadException: 未能加载文件或程序集“Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
文件名:“Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc”
警告: 程序集绑定日志记录被关闭。
要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。
在 System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
在 System.Reflection.RuntimeMethodInfo.FetchNonReturnParameters()
在 System.Reflection.RuntimeMethodInfo.GetParametersNoCopy()
在 System.Reflection.RuntimePropertyInfo.GetIndexParametersNoCopy()
在 System.Reflection.RuntimePropertyInfo.GetIndexParameters()
在 System.Data.Entity.Internal.DbSetDiscoveryService.<>c.<GetSets>b__4_1(PropertyInfo p)
在 System.Linq.Enumerable.WhereArrayIterator`1.MoveNext()
在 System.Data.Entity.Internal.DbSetDiscoveryService.GetSets()
在 System.Data.Entity.Internal.DbSetDiscoveryService.InitializeSets()
在 System.Data.Entity.DbContext.InitializeLazyInternalContext(IInternalConnection internalConnection, DbCompiledModel model)
在 Abp.EntityFramework.AbpDbContext..ctor(String nameOrConnectionString)
在 Sample.ABPMVCAngular.EntityFramework.ABPMVCAngularDbContext..ctor() 位置 D:\CodeRepository\Learning\ABP\Sample.ABPMVCAngular\5.0.0\src\Sample.ABPMVCAngular.EntityFramework\EntityFramework\ABPMVCAngularDbContext.cs:行号 27
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Data.Entity.Infrastructure.DbContextInfo.CreateInstance()
在 System.Data.Entity.Infrastructure.DbContextInfo..ctor(Type contextType, DbProviderInfo modelProviderInfo, AppConfig config, DbConnectionInfo connectionInfo, Func`1 resolver)
在 System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration, DbContext usersContext, DatabaseExistenceState existenceState, Boolean calledByCreateDatabase)
在 System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration)
在 System.Data.Entity.Migrations.Design.MigrationScaffolder..ctor(DbMigrationsConfiguration migrationsConfiguration)
在 System.Data.Entity.Infrastructure.Design.Executor.CreateMigrationScaffolder(DbMigrationsConfiguration configuration)
在 System.Data.Entity.Infrastructure.Design.Executor.ScaffoldInternal(String name, DbConnectionInfo connectionInfo, String migrationsConfigurationName, Boolean ignoreChanges)
在 System.Data.Entity.Infrastructure.Design.Executor.Scaffold.<>c__DisplayClass0_0.<.ctor>b__0()
在 System.Data.Entity.Infrastructure.Design.Executor.OperationBase.<>c__DisplayClass4_0`1.<Execute>b__0()
在 System.Data.Entity.Infrastructure.Design.Executor.OperationBase.Execute(Action action)
排查过程,根据提示,是找不到 Version=4.1.1.0的Castle.Core程序集。
查看.EntityFramework与.Core项目的nuget程序包,发现Castle.Core都是4.4.0版本
两个项目下的app.config文件中引用的是4.1.1.0版本,而packages.config中用的都是4.4.0版本,如下,得出的结论:系统中加载使用的的是4.4.0版本。而配置中还是使用旧的4.1.1.0版本。
--app.config
<dependentAssembly>
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
--packages.config
<package id="Castle.Core" version="4.4.0" targetFramework="net461"/>
结论:
只需要将.EntityFramework与.Core项目中的app.config配置改为4.4.0版本即可,
和packages.config中用的都是4.4.0版本一致
如下
<dependentAssembly>
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.4.0" />
</dependentAssembly>
版权声明:本文标题:ABP项目:未能加载文件或程序集“Castle.Core, Version=4.1.1.0, Culture=neutral”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1729375237a1198759.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论