ASP.NET MVC MiniProfiler和EntityFramework 6初始化

9
我遇到了类似的问题,加载MiniProfiler和MiniProfiler.EnitiyFramework6后出现了这个问题。MiniProfiler运行良好,但是当我在Global.asax中的Applcation_Start添加以下代码:
MiniProfilerEF6.Initialize();
就会出现以下错误信息:
系统.IO.FileLoadException异常,在MiniProfiler.EntityFramework6.dll中发生,但没有经过用户代码处理。
附加信息:无法加载文件或程序集'MiniProfiler,Version=3.0.11.0,Culture=neutral,PublicKeyToken=b44f9351044011a3' 或它的某一个依赖项。所定位的程序集清单定义与程序集引用不匹配。 (HRESULT 的异常来自于: 0x80131040)
2个回答

19

原来这可能与版本和ID有关。 如果您安装MiniProfiler.EntityFramework6而没有安装其他包,那么nuget将处理依赖关系,但它会在这里的web.config中放入错误的#s(确保版本号正确):

 <dependentAssembly>
    <assemblyIdentity name="MiniProfiler" publicKeyToken="b44f9351044011a3" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-3.2.0.157" newVersion="3.2.0.157" />
  </dependentAssembly>

如果您卸载了所有MiniProfiler包,并按照以下顺序安装:

MiniProfiler
MiniProfiler.MVC4
MiniProfiler.EF6

它似乎可以正常工作。


4
或者只需更新 MiniProfiler 包 - 它会处理重定向。 - G. Stoynev
3
不,升级软件包并不能解决问题。这个答案提出的解决方案可以。 - MatteoSp
很高兴看到这个解决方案能帮助到其他人。我原本以为只是我的环境出了问题,但看起来这是一个MiniProfiler的问题。 - tlatourelle
更新和重新安装对我没有起作用。自定义替换bindingRedirect对我有用。谢谢! - Dirk Boer
更新(非重新安装)MiniProfiler对我有用。 - jslatts

0

对于其他遇到类似问题的人,这是我解决的方法:

请分析您的应用程序正在使用哪个版本的Entity Framework

PM> Get-Package

然后相应地安装MiniProfiler.EF

就像在我的情况下,我安装了Install-Package MiniProfiler.EF5


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接