栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

dotnet安装包时找不到依赖关系

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

dotnet安装包时找不到依赖关系

在一个包含52个项目(所有net462)的大型解决方案中,我们的一些依赖项的最新版本现在仅为.NET标准构建.因此,他们依赖于NuGet软件包NETStandard.Library,而这些软件包又拖入很多其他4.3.x版本的System.*软件包,这些软件包通常在.NET Framework本身中.

因此,一些项目引用packages文件夹中的System.*库,而来自.NET Framework的其他参考System.*库.

这会引起众所周知的运行时问题,例如:

Message: System.IO.FileLoadException : Could not load file or assembly ‘System.Net.Http, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

进一步了解NETStandard.Library包的依赖关系,了解到我们可以在所有这些包中遇到相同的问题:

> System.Collections.*

> System.ComponentModel.*

> System.Console

> System.Globalization.*

> System.IO.*

> System.Linq.*

> System.Net.*

> System.ObjectModel

> System.Reflection.*

> System.Resources.ResourceManager

> System.Runtime.*

> System.Text.*

> System.Threading.*

> System.Xml.*

通常这可以通过在其他项目中安装相同的软件包来解决,但我们在这里处理了很多项目和很多软件包,我不想盲目地将所有这些依赖项添加到所有52个项目中.

这让我想知道是否有人知道从这种情况中恢复的简单方法,并使所有项目从NuGet包文件夹引用正确的包/ DLL,如果他们当前使用.NET Framework内部的.

可以在here找到针对net462和net471的简单VS解决方案来演示该问题

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/955372.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号