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