Project.json 定义 dnx451 与 .dotnet ( 4.51)

2024-04-01

我有一些 在 asp vnext 中我可以定义 3 种类型的运行时

  • dnxCore
  • dnx451
  • dotnet

在 Project.json 中,它看起来像这样:

"frameworks": 
{
    "dotnet": { },
    "dnx451": { },
    "dnxcore50": { }
}^

用户界面缩短了这个

我假设如下:

dnxCore是新的.net Core 框架。

dotnet是之前的运行时间

dnx451:在project.json 中定义“dotnet”或“dnx451”时有什么不同?

两者不应该都使用 .net 执行运行时运行吗?

还取决于我选择的项目模板(vNext ClassLib 或 vNext Console Lib)默认包含其中之一。


以不同的方式回答您的问题:库应该针对 SDK 所需的环境。如果您不需要 SDK 使用netstandard(或在 .NET Core RC2 之前dotnet).

  • dnxcore50在 CoreCLR/CoreFx 上运行的 DNX SDK(已弃用, use netcoreapp1.0反而)。
  • dnx451在 .Net 4.5.1 上运行的 DNX SDK(桌面 CLR/完整 BCL 和 FCL)(已弃用, use net451反而)。
  • net46.Net Framework 4.6 SDK 在桌面 CLR/完整 BCL 和 FCL 上运行。
  • uap10.0在 .Net Native/CoreFx 上运行的 UWP Windows 10 SDK。
  • netcoreapp1.0.NET Core 1.0 SDK 在 CoreCLR/CoreFx 上运行。
  • netstandard1.5 (RC2, dotnet之前)任何声明其依赖项的纯 IL 代码(基于 System.Runtime 的库而不是 PCL 合约)。框架依赖项适用于 .Net 4.5.x 及以上版本、.NET Core 或 UWP(不同版本中基于 System.Runtime 的库集)。与 RC2 一样dotnet已弃用,请使用netstandard反而。
  • netstandard2.0(.NET Core 2.0;~2017 年 6 月)任何仅依赖于netstandard.dll所有平台(.NET Core、.NET Framework、Xamarin、Mono、Unity3D)都必须实现(或抛出 NotImplementedException)。这netstandard2.x大致是 .NET Framework 的 BCL 库(没有 WMI、WinForms、WPF、WCF、WWF 等 FCL 组件)。通过兼容性填充程序,大多数现有的 NuGet 包将自动netstandard2.0.

因此,如果您的库只有一些算法或者不特定于平台,请使用netstandard / dotnet。如果您的任何依赖项受到限制,则此依赖项将传播到使用它的应用程序(例如 DNX、UWP、.Net46)。

我只能像玛拉基一样强调奥伦的文章系列。 (他刚刚写了一篇新文章:https://oren.codes/2015/07/29/targeting-net-core/ https://oren.codes/2015/07/29/targeting-net-core/关于同一主题)。

ps: dotnet / netstandard不是一个具体的运行时,而是它的抽象。在这种情况下,它是一个目标,甚至没有指定运行时,而是说:任何正确解释 IL 的东西都会运行。例如dnxcore5是指定具有特定运行时 (CoreCLR) 的 SDK(DNX) 的目标。在这种情况下,您可以对运行时行为做出进一步的假设(例如 JIT 的使用、x-plat 实现的可用性等)。

pps:请注意dotnet名称已转换为术语netstandard即将发布的 RC2 版本。此外,完整的 DNX SDK 分为 .NET Core 和 ASP.NET 团队。因此,.NET Core (CoreCLR/CoreFx) 的框架名称是netcoreapp1.0而 99% 的 ASP.NET 堆栈只是带有以下内容的库netstandard1.5。 DNX 绰号(dnx451 and dnxcore50) 已弃用。在 .NET Framework(而不是 .NET Core)上运行 ASP.NET Core 时,使用net451。详细阅读请重读:https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md

ppps:不断地意识到,netstandard1.x基于依赖的合约的概念没有进一步发展,而是改为一个(巨大的)标准合约(32k API;netstandard2.0)必须由所有平台实现,包括即将推出的 .NET Core 2.0。此更改的优点是大多数现有生态系统的 NuGet 包(参见mscorlib和朋友)可以融入netstandard2.0通过使用中间兼容性垫片来封装。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Project.json 定义 dnx451 与 .dotnet ( 4.51) 的相关文章

  • Java有没有类似微软CHESS的工具?

    是否有类似于 Microsoft 的现有 Java 工具CHESS http research microsoft com chess 或者 CHESS 源代码是否开放 以便我可以尝试将其转换为 Java 谷歌的织线工 http code
  • Sitecore - 隐藏功能区中的按钮

    我为特定内容项创建了上下文功能区 我有两个按钮 可以将项目 升级 或 降级 到某一类别 该部分只能有一个 是否可以根据某种隐藏代码中的内容状态隐藏其中一个按钮 我了解如何链接到 Click 事件 但我想知道是否有某种加载事件可供自定义功能区
  • 如何获取Winforms窗体标题栏高度的大小?

    因此 如果它是工具窗口或可最小化的表单 我希望能够以编程方式获取其高度 这可能吗 如果是这样怎么办 您可以使用以下方法确定工具窗口和普通表单的标题栏高度 Rectangle screenRectangle this RectangleToS
  • 设置 Form.KeyPreview = true 的缺点?

    我想知道 Form KeyPreview 属性实际上有什么用处 它为什么存在以及将其设置为 true 会带来什么 风险 我想它一定有some负面影响 否则它根本不应该存在 或者至少默认情况下是正确的 EDIT 我很清楚what确实如此 我问
  • CompileAssemblyFromDom 抛出访问被拒绝异常

    代码 using var codeProvider new CSharpCodeProvider var compilerParameter new CompilerParameters assemblies assemblyName fa
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 为什么 new String("Hello") 在 C# 中无效?

    制作背后的逻辑 原因是什么 String s new String Hello World 在 C 中非法 错误是 string String char 的最佳重载方法匹配有一些无效参数 我对 API 文档不感兴趣 我感兴趣的是为什么这是非
  • 比较已编译的 .NET 程序集?

    有没有什么好的程序可以与编译 NET 程序集进行比较 例如 我有 HelloWorld dll 1 0 0 0 和 HelloWorld dll 2 0 0 0 我想比较差异 我该怎么做 我知道我可以使用 NET Reflector 并使用
  • 如何消除字符串中的所有换行符?

    我需要删除字符串中出现的所有换行符 来自数据库 我使用下面的代码来做到这一点 value Replace r n Replace n Replace r 我可以看到至少有一个角色的行为就像行尾一样幸存了下来 字符代码是8232 http w
  • 为什么 C# 不支持类构造函数中的隐式泛型类型?

    如果编译器可以推断出泛型类型参数 C 并不要求您指定它 例如 List
  • C# 和匿名对象数组

    这样的表达是什么意思呢 obj DataSource new new Text Silverlight Count 10 Link Tags Silverlight new Text IIS 7 Count 11 Link http iis
  • 由于索引无效,无法加载计数器名称数据 -Exception

    我使用 C 和 WPF 操作系统是 windows 7 Professional 和 Visual Studio 2012 SQL Server 2012 我在wpf中使用了Devexpress Grid 我想使用 ADO Net 服务器模
  • 以编程方式设置 maxRequestLength

    有一个配置值叫做maxRequestLength 在配置文件中 它看起来像这样
  • Java 中等效的并行扩展

    我在 Net 开发中使用并行扩展有一些经验 但我正在考虑在 Java 中做一些工作 这些工作将受益于易于使用的并行库 JVM 是否提供任何与并行扩展类似的工具 您应该熟悉java util concurrent http java sun
  • 自定义代码访问安全属性

    我创建了以下属性 Serializable AttributeUsage AttributeTargets Class AttributeTargets Method AllowMultiple true Inherited true pu
  • 在 SQL 2005+ 中,CLR 存储过程是否优于 TSQL 存储过程?

    我目前的观点是否定的 更喜欢 Transact SQL 存储过程 因为它们是重量更轻且 可能 性能更高的选项 而 CLR 过程允许开发人员进行各种恶作剧 然而最近我需要调试一些写得非常糟糕的 TSQL 存储过程 像往常一样 我发现许多问题是
  • 是否可以在 IIS7 Express 中使用自定义主机标头/绑定?

    我正在尝试配置一个新的ASP NET MVC3 using IIS7快递 在我的本地开发机器上 使用自定义域名 eg 我的本地开发机器 打开我的网络浏览器 goto http dev www mydomain com http dev ww
  • 什么时候值得使用 BindingSource?

    我想我非常了解 BindingSource 类的作用 即在数据源和 UI 控件之间提供一个间接层 它实现了 IBindingList 接口 因此还提供了对排序的支持 而且我已经经常使用它 没有太多问题 但我想知道我使用它的频率是否超过了应有
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe

随机推荐