更新到新软件包Microsoft.EntityFrameworkCore.SqlServer 1.1.2之后,尝试创建DBContext时出现错误:
发生System.IO.FileLoadException HResult = 0x80131040
消息=无法加载文件或程序集’Microsoft.Extensions.DependencyInjection.Abstractions,版本=
1..1.0.0,文化=中性,PublicKeyToken =
adb9793829ddae60’或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自HRESULT的异常:0x80131040)Source
= Microsoft.EntityFrameworkCore
StackTrace:位于Microsoft.EntityFrameworkCore.DbContext..ctor(DbContextOptions选项),位于C:\
src \ backend
\中的Services.Infrastructure.Data.SqlServerDbContext..ctor(DatabaseOptions
databaseOptions) Packages \ Services.Infrastructure \ Data \
SqlServerDbContext.cs:C:\ src \ backend \ Modules \ Translations \
Translations.Api \ Data \
TranslationsDbContext.cs中位于Translations.Api.Data.TranslationsDbContext..ctor(DatabaseOptions
databaseOptions)的行16 :第16行
我的基础DbContext
public class SqlServerDbContext : DbContext
{
private readonly DatabaseOptions _databaseOptions;
protected SqlServerDbContext(DatabaseOptions databaseOptions)
{
if (string.IsNullOrEmpty(databaseOptions.ConnectionString))
throw new Exception("Database connection string is missed.");
_databaseOptions = databaseOptions;
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(_databaseOptions.ConnectionString);
}
}
我使用的数据库选项
public class DatabaseOptions
{
public string ConnectionString { get; set; }
}
我创建上下文实例的地方
var dbOptions = new DatabaseOptions { ConnectionString = _connectionString };
DbContext = (TContext) Activator.CreateInstance(typeof(TContext), dbOptions);
// where TContext is derived class from SqlServerDbContext
我所有的软件包都已更新。Visual Studio 2017 15.2(26430.6)。升级到1.1.2之前,一切正常。请帮助解决问题。
由于您使用的是.net框架库中的项目,因此自动生成的绑定重定向存在问题(可能会在即将发布的15.3更新/ 2.0
.net核心CLI中解决)。要解决此问题,请将其添加到cpsroj
文件中(最好在文件的任何<Import>
元素之前,.targets
如果存在):
<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>
这应该强制MSBuild创建/更新YourProject.dll.config
包含必要的绑定重定向的文件。
问题内容: 我正在使用c#和数据库MySQL开发桌面应用程序。当我在计算机上安装其安装程序时,它可以正常工作,但是当我在其他计算机上安装它的安装程序时,尝试访问数据库时会出现以下异常。我用来与MySQL通信。 无法加载文件或程序集“ MySql.Data,版本= 6.2.2.0,区域性=中性,PublicKeyToken = c5687fc88969c44d”或其依赖项之一。该系统找不到指定的文件
问题内容: 我完全不知所措-我仍然什至没有真正理解的地方遇到超级奇怪的问题…我正在运行Entity Framework 4.1,MySql 5.xx和MySql Connector为6.4.4版-一切正常但是在本地,只要我上传到服务器,就会收到: 我很困惑,我很肯定我在Bin目录中有MySql 6.4.4 dll,我的Web.config也对版本6.3.6进行了零引用- 我已经在整个项目中(使用全
在 win7 上,我的应用程序工作正常。但是当我尝试在win8上运行它时,我收到一个错误。 无法加载文件或程序集“系统.Web.WebPages.Razor,版本=2.0.0.0 System.Web.WebPages.Razor.dll 在发布期间是本地复制的。如果这很重要,我不久前从 mvc4 迁移到 mvc5。 堆栈跟踪: [FileLoadException: 无法加载文件或程序集 'Sy
我正在尝试将一个项目从MVC 4/EF 5升级到MVC 5/EF 6。我将框架从4.5更新到4.5.1,然后从Nuget更新了解决方案MVC(4.0.30506.0到5.1.1)和EntityFramework(5到6.1.1)。这引入了Razor依赖项(2.0.30506.0到3.1.1)和WebPages(2.0.30506.0到3.1.1)。我编辑了Project and Views文件夹w
我在ASP.NET中有一个WebApplication项目和一个实体项目(构建为DLL)。 如果我在调试模式下构建DLL,那么我的WebApp将成功加载程序集。但是当我在发布模式下构建DLL时,我的WebApp无法加载程序集。 未能加载文件或程序集“MyLibs,Version=1.0.0.0,Culture=Neutrative,PublicKeyToken=Null”或其依赖项之一。试图加载格
我试图托管一个webproject,但是当服务器试图编译它时,我得到以下错误: 未处理的异常:System.io.FileLoadException:无法加载文件或程序集“Microsoft.codeAnalysis,版本=1.1.1.0,Culture=Neutrice,PublicKeyToken=31BF3856AD364E35”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(来