在一个包含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解决方案来演示该问题

在一个包含52个项目(所有net462)的大型解决方案中,我们的一些依赖项的最新版本现在仅为.NET标准构建.因此,他们依赖于NuGet软件包NETStandard.Library,而这些软件包又拖入很多其他4.3.x版本的System.*软件包,这些软件包通常在.NET Framework本身中.因此,一些项目引用packages文件夹中的System.*库,而来自.NET Framework的...
编译器错误消息: CS0012: 类型“System.Object”在未被引用的程序集中定义。必须添加对程序集“ netstandard , Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51“的引用 解决方案:在web.config文件system.web/compilation节点添加配置节点: 早上起来.NET社区沸腾了,期待已久的.NET Core 2.0终于发布!根据个人经验,微软的产品一般在2.0 会趋于成熟,所以一个新的.Net开发 代已经来临!未来属于.NET Core。 对于.NET Core 2.0的发布介绍,围绕2.0的架构体系,本系列相关文章: .Net Core 2.0 生态...
类库定义的是可以由应用程序调用的类型和方法。借助面向 .NET Standard 2.0 的类库,任何支持相应 .NET Standard 版本的 .NET 实现都可以调用库。完成类库后,可以将其作为第三方组件进行分发,也可以作为与一个或多个应用程序捆绑在一起的组件进行分发。 创建解决...
.NET Standard是一套正式的 .NET API 规范,有望在所有 .NET 运行 中推出。 推出 .NET Standard 的背后动机是要提高 .NET 生态系统中的一致性。 ECMA 335 持续为 .NET 运行 行为建立统一性,但适用于 .NET 库实现的 .NET 基类库 (BCL) 没有类似的规范。 .NET Standard 可实现以下重要情境: 为要实现的
本以为就是个简单的 依赖 包安装 问题 ,没太在意standard是个什么东西。 由于之前基本都是用framework,客户机部署的 候缺库就上framework的runtime包, 但是第一次看到这个 问题 ,缺standard? 未能加载文件或程序集“ netstandard , Version=2.0.0.0, Culture...