Error with OrmLite.SqlServer Assembly
本文关键字:Assembly SqlServer OrmLite with Error | 更新日期: 2023-09-27 18:32:52
v3.9.53 使用 NuGet 更新后收到此错误:
"无法加载文件或程序集'ServiceStack.Text, Version=3.9.60.0, Culture=Neutral, PublicKeyToken=null' 或其之一 依赖。系统找不到文件 指定。":"ServiceStack.Text, version=3.9.60.0, Culture=Neutral, PublicKeyToken=null">
问题是,NuGet 包安装了 v3.9.63.0,我以前从未安装 3.9.60 版本。
我已经做了什么:
- 删除
- 软件包并删除 Bin 文件,然后重新安装所有内容。
- 回到我以前的版本(v3.9.54(,但我收到同样的错误。
有关错误的详细信息:
来源: ServiceStack.OrmLite
堆栈跟踪:
at ServiceStack.OrmLite.OrmLiteConfigExtensions.GetModelDefinition(Type modelType)
at ServiceStack.OrmLite.ModelDefinition`1.get_Definition()
at ServiceStack.OrmLite.OrmLiteUtilExtensions.ConvertToList[T](IDataReader dataReader)
at ServiceStack.OrmLite.OrmLiteReadExtensions.Select[T](IDbCommand dbCmd, String sqlFilter, Object[] filterParams)
at ServiceStack.OrmLite.OrmLiteReadConnectionExtensions.<>c__DisplayClass2`1.<Select>b__1(IDbCommand dbCmd)
at ServiceStack.OrmLite.ReadConnectionExtensions.Exec[T](IDbConnection dbConn, Func`2 filter)
at ServiceStack.OrmLite.OrmLiteReadConnectionExtensions.Select[T](IDbConnection dbConn, String sqlFilter, Object[] filterParams)
at DAL.UserCrud.GetAllUsers(Nullable`1& status)
我不时遇到这个问题。通常,当解决方案中有多个面向同一 nuget 程序集(如 ServiceStack.Text(的项目时,会显示此消息。一个项目将被更新,但旧项目仍将包含对错误版本的程序集引用。在使用我自己的 nuget 包调用 ServiceStack 依赖项然后将依赖项添加到同一解决方案中的另一个项目时,我也看到了它。我在SQLite上遇到了这个问题,但我认为相同的修复程序适用:
1( 通过 nuget 卸载和重新安装依赖项(并删除 Visual Studio 中的引用(。由于ServiceStack.Text是几乎所有ServiceStack软件包的依赖项,这可能意味着相当多的卸载和重新安装。
2(您可以在我的app.config中添加绑定重定向。在本例中,我们说"如果您看到 ServiceStack.Text 版本 0.0.0.0 到 0.3.60.0,请改用版本 3.9.63.0"。请记住,此解决方案在大多数情况下都有效;但是,如果版本之间存在重大更改,则可能会遇到问题。
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="ServiceStack.Text" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.9.60.0" newVersion="3.9.63.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>