gpt4 book ai didi

.net - 除了 dnx451 之外,创建 dnx50 构建目标是否有任何区别/原因?

转载 作者:行者123 更新时间:2023-12-03 15:12:34 25 4
gpt4 key购买 nike

通常我们在 project.json 中看到以下目标:

"frameworks": {
"net45": {},
"dnx451": {},
"dnxcore50": { }
}
dnxcore50将是项目代码和 dnx451 的唯一可移植版本实际上针对.Net 4.5.1 mscorlib等...

现在,如果我添加另一个名为 dnx50 的目标,这将创建一个有效的输出并且工作得很好。

dnx451 和 dnx50 之间的区别在于,它引用了不同的 .Net 程序集 dll

例如 mscorlib.dll :
  • dnx451 引用资料 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\mscorlib.dll
  • dnx50 引用资料 C:\Windows\Microsoft.NET\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll这本质上是 .net 4.6 版本。

  • 现在的问题是:

    创建 dnx50 有意义吗?例如,您的自定义库的目标?基本上以 .net 4.6 为目标,您需要某些功能 dnxcore50便携没有?

    或者是 dnx451目标实际上已经足够了,如果我不需要更新的 .net 版本(4.5.2、4.6)中的特定功能,如果它安装在系统上并且我只是针对我的项目所需的最低版本?

    这是否意味着同时拥有 dnx451 和 dnx50 目标实际上会创建相同的输出,对吗?

    最佳答案

    this问题的完整细节。以下是您可以使用的所有不同类型的列表:

  • dnxcore50 - 在 CoreCLR/CoreFx 上运行的 DNX SDK
  • dnx451 - 在 .Net 4.5.1 上运行的 DNX SDK(桌面 CLR/完整 BCL 和 FCL)
  • net46 - 在 .Net 4.6(桌面 CLR/完整 BCL 和 FCL)上运行的 .Net Framework SDK。
  • uap10.0 - 在 .Net Native/CoreFx 上运行的 UWP SDK
  • dotnet - 任何声明其依赖关系的纯 IL 代码(而不是 PCL 合约)。框架依赖项可用于 .Net 4.6、DNX 或 UWP。

  • 对于 .NET 4.5,您需要使用 dnx45用于 ASP.NET 项目和 net45其他项目以 .NET 4.5 为目标。你定位哪一个取决于你想做什么,你甚至可以一次定位多个。

    目前 .NET Core (DNX) 的功能非常有限。如果这还不够,那么以完整的 .NET 运行时为目标 dnx46对于使用 .NET 4.6 和 net46 的 ASP.NET 5对于使用 .NET 4.6 的其他项目。

    关于.net - 除了 dnx451 之外,创建 dnx50 构建目标是否有任何区别/原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30600268/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com