300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > dotnet安装包时找不到依赖关系_c# – System.*引入NETStandard.Library依赖时的参考问题...

dotnet安装包时找不到依赖关系_c# – System.*引入NETStandard.Library依赖时的参考问题...

时间:2021-01-11 20:17:26

相关推荐

dotnet安装包时找不到依赖关系_c# – System.*引入NETStandard.Library依赖时的参考问题...

在一个包含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 ‘.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.*

> ponentModel.*

> System.Console

> System.Globalization.*

> System.IO.*

> System.Linq.*

> .*

> System.ObjectModel

> System.Reflection.*

> System.Resources.ResourceManager

> System.Runtime.*

> System.Text.*

> System.Threading.*

> System.Xml.*

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。