首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FileLoadException更新后的NuGet

FileLoadException更新后的NuGet
EN

Stack Overflow用户
提问于 2014-10-20 22:24:42
回答 4查看 2.6K关注 0票数 5

在对所有NuGet包进行了更新之后,我的一个应用程序在FileLoadException启动时就开始崩溃了。

代码语言:javascript
复制
Could not load file or assembly 'Microsoft.Practices.ServiceLocation, Version=1.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.

这是在将ServiceLocation升级到1.3.0.0版本之后,我再次检查了所有程序集,以确保它们正在使用该版本。然后运行Fuslogvw来诊断仍然引用旧版本的程序集:

代码语言:javascript
复制
LOG: DisplayName = Microsoft.Practices.ServiceLocation, Version=1.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///C:/Users/Charlie/AppData/Local/Programs/MyClient/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = MyClient.exe
Calling assembly : Microsoft.Practices.Prism.UnityExtensions, Version=5.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
===

因此,UnityExtensions (另一个NuGet包)仍然引用旧版本。但是这应该是可以的,因为我已经将一个bindingRedirect添加到我的app.config文件中:

代码语言:javascript
复制
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="Microsoft.Practices.ServiceLocation" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.3.0.0" />
  </dependentAssembly>
</assemblyBinding>

但这似乎没什么区别。我的应用程序是针对.NET Framework4.5.1的,我已经在AutoGenerateBindingRedirects上和off上尝试过了。换句话说,我什么都试过了。这里发生什么事情?

EN

回答 4

Stack Overflow用户

发布于 2015-01-10 19:13:19

要解决这个问题,您所需要的就是更新所有项目中与PRISM和统一相关的软件包。不需要编辑绑定重定向。

参见关于codeplex的详细信息

票数 1
EN

Stack Overflow用户

发布于 2015-01-14 23:06:56

您是否尝试过将绑定重定向更改为:

代码语言:javascript
复制
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
        <assemblyIdentity name="Microsoft.Practices.ServiceLocation" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
    </dependentAssembly>
</assemblyBinding>

请注意,我只将oldVersion上限从1.2.0.0更改为1.3.0.0,以获取最多1.3的版本并将其重定向。

票数 1
EN

Stack Overflow用户

发布于 2015-01-16 20:25:00

确保配置文件中的引用确实使用了正确的版本。它们可能与NuGet安装的内容不同步。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26475938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档