.NET CLI仅适用于.NET Core吗?

Sam*_*Sam 6 c# asp.net-mvc asp.net-core dotnet-cli

如果要创建使用.NET Framework的ASP.NET Core 1.0应用程序,是否使用.NET CLI?.NET CLI仅适用于新的.NET Core库,还适用于Core和.NET 4.6?

Jon*_*eet 6

您也可以使用dotnet cli完整的框架应用程序和库.您只需要使用适当的框架标记 - 例如,"net46"以.NET 4.6为目标.您也可以定位多个框架:

例如,来自我的Noda Time库:

"frameworks": {
  "net45": {
    "frameworkAssemblies": {
      "System.Xml": "",
      "System.Numerics": ""
    }
  },
  "netstandard1.1": {
    "buildOptions": {
      "define": [ "PCL" ]
    },
    "dependencies": {
      "System.Diagnostics.Debug": "4.0.11",
      "System.Globalization": "4.0.11",
      "System.Linq": "4.1.0",
      "System.Resources.ResourceManager": "4.0.1",
      "System.Runtime.Extensions": "4.1.0",
      "System.Runtime.Numerics": "4.0.1",
      "System.Runtime.Serialization.Xml": "4.1.1",
      "System.Threading": "4.0.11",
      "System.Xml.XmlSerializer": "4.0.11"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

PCL预处理器符号将被重新命名为"DOTNET_CORE"或在某些时候类似-这是只有在那里,因为我有一大堆的代码,将其用于条件编译回来时,我用目标便携类库.

顺便说一句,您仍然可以定位可移植类库...因此单个包可以针对许多不同的版本.


Dav*_*ine 5

如果要创建使用.NET FrameworkASP.NET Core 1.0应用程序,是否使用CLI

.NET CLI是两种,区别是在实际制作project.json文件.例如,当应用程序实际上以完整框架为目标时,您可以使用以下命令编译/构建ASP.NET Core应用程序:

dotnet build

以下是project.json针对.NET 4.6的示例.

{
  "frameworks": {
    "net46": { }
  }
}
Run Code Online (Sandbox Code Playgroud)

有关详细信息,我总是鼓励人们参考此处的文档.同样,由于这是开源的(这是惊人的),您可以查看源代码以了解它是如何使用的.