You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/core/deploying/creating-nuget-packages.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ ms.devlang: dotnet
12
12
ms.assetid: 2f0415c1-110b-433d-87c1-ae3d543a8844
13
13
---
14
14
15
-
##How to Create a NuGet Package with Cross Platform Tools
15
+
# How to Create a NuGet Package with Cross Platform Tools
16
16
17
17
> **Note:** The following shows command-line samples using unix. The `dotnet pack` command as shown here works the same way on Windows.
18
18
@@ -58,4 +58,4 @@ And now you have the necessary files to publish a NuGet package!
58
58
59
59
## Don't confuse `dotnet pack` with `dotnet publish`
60
60
61
-
It is important to note that at no point is the `dotnet publish` command involved. The `dotnet publish` command is for deploying applications with all of their dependencies in the same bundle - not for generating a NuGet package to be distributed and consumed via NuGet.
61
+
It is important to note that at no point is the `dotnet publish` command involved. The `dotnet publish` command is for deploying applications with all of their dependencies in the same bundle - not for generating a NuGet package to be distributed and consumed via NuGet.
Copy file name to clipboardExpand all lines: docs/core/index.md
+16-32
Original file line number
Diff line number
Diff line change
@@ -12,8 +12,7 @@ ms.devlang: dotnet
12
12
ms.assetid: f2b312cb-f80c-4b0d-9101-93908f06a6fa
13
13
---
14
14
15
-
.NET Core
16
-
=========
15
+
# .NET Core
17
16
18
17
> Check out the ["Getting Started" tutorials](tutorials/index.md) to learn how to create a simple .NET Core application. It only takes a few minutes to get your first app up and running.
19
18
@@ -28,8 +27,7 @@ The following characteristics best define .NET Core:
28
27
-**Open source:** The .NET Core platform is open source, using MIT and Apache 2 licenses. Documentation is licensed under [CC-BY](http://creativecommons.org/licenses/by/4.0/). .NET Core is a [.NET Foundation](http://www.dotnetfoundation.org/) project.
29
28
-**Supported by Microsoft:** .NET Core is supported by Microsoft, per [.NET Core Support](https://www.microsoft.com/net/core/support/)
30
29
31
-
Composition
32
-
===========
30
+
## Composition
33
31
34
32
.NET Core is composed of the following parts:
35
33
@@ -38,48 +36,41 @@ Composition
38
36
- A [set of SDK tools](https://github.com/dotnet/cli) and [language compilers](https://github.com/dotnet/roslyn) that enable the base developer experience, available in the [.NET Core SDK](sdk.md).
39
37
- The 'dotnet' app host, which is used to launch .NET Core apps. It selects the runtime and hosts the runtime, provides an assembly loading policy and launches the app. The same host is also used to launch SDK tools in much the same way.
40
38
41
-
Languages
42
-
---------
39
+
### Languages
43
40
44
41
The C# language (F# and VB are coming) can be used to write applications and libraries for .NET Core. The compilers run on .NET Core, enabling you to develop for .NET Core anywhere it runs. In general, you will not use the compilers directly, but indirectly using the SDK tools.
45
42
46
43
The C# Roslyn compiler and the .NET Core tools are or can be integrated into several text editors and IDEs, including Visual Studio, [Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp), Sublime Text and Vim, making .NET Core development an option in your favorite coding environment and OS. This integration is provided, in part, by the good folks of the [OmniSharp project](http://www.omnisharp.net/).
47
44
48
-
.NET APIs and Compatibility
49
-
---------------------------
45
+
### .NET APIs and Compatibility
50
46
51
47
.NET Core can be thought of as a cross-platform version of the .NET Framework, at the layer of the .NET Framework Base Class Libraries (BCL). It implements the [.NET Standard Library](../standard/library.md) specification. .NET Core provides a subset of the APIs that are available in the .NET Framework or Mono/Xamarin. In some cases, types are not fully implemented (some members are not available or have been moved).
52
48
53
49
Look at the [.NET Core roadmap](https://github.com/dotnet/core/blob/master/roadmap.md) to learn more about the .NET Core API roadmap.
54
50
55
-
Relationship to the .NET Standard Library
56
-
-----------------------------------------
51
+
### Relationship to the .NET Standard Library
57
52
58
53
The [.NET Standard Library](../standard/library.md) is an API spec that describes the consistent set of .NET APIs that developers can expect in each .NET implementation. .NET implementations need to implement this spec in order to be considered .NET Standard Library compliant and to support libraries that target the .NET Standard Library.
59
54
60
55
.NET Core implements the .NET Standard Library, and therefore supports .NET Standard Libraries.
61
56
62
-
Workloads
63
-
---------
57
+
### Workloads
64
58
65
59
By itself, .NET Core includes a single application model -- console apps -- which is useful for tools, local services and text-based games. Additional application models have been built on top of .NET Core to extend its functionality, such as:
66
60
67
61
-[ASP.NET Core](http://asp.net)
68
62
-[Windows 10 Universal Windows Platform (UWP)](https://developer.microsoft.com/windows)
69
63
-[Xamarin.Forms](https://www.xamarin.com/forms)
70
64
71
-
Open Source
72
-
-----------
65
+
### Open Source
73
66
74
67
[.NET Core](https://github.com/dotnet/core) is open source (MIT license) and was contributed to the [.NET Foundation](http://dotnetfoundation.org) by Microsoft in 2014. It is now one of the most active .NET Foundation projects. It can be freely adopted by individuals and companies, including for personal, academic or commercial purposes. Multiple companies use .NET Core as part of apps, tools, new platforms and hosting services. Some of these companies make significant contributions to .NET Core on GitHub and provide guidance on the product direction as part of the [.NET Foundation Technical Steering Group](http://www.dotnetfoundation.org/blog/tsg-welcome).
75
68
76
-
Acquisition
77
-
===========
69
+
## Acquisition
78
70
79
71
.NET Core is distributed in two main ways, as packages on NuGet.org and as standalone distributions.
80
72
81
-
Distributions
82
-
-------------
73
+
### Distributions
83
74
84
75
You can download .NET Core at the [.NET Core Getting Started](https://www.microsoft.com/net/core) page.
85
76
@@ -88,19 +79,16 @@ You can download .NET Core at the [.NET Core Getting Started](https://www.micros
88
79
89
80
Typically, you will first install the .NET Core SDK to get started with .NET Core development. You may choose to install additional .NET Core (perhaps pre-release) builds.
90
81
91
-
Packages
92
-
--------
82
+
### Packages
93
83
94
84
-[.NET Core Packages](packages.md) contain the .NET Core runtime and libraries (reference assemblies and implementations). For example, [System.Net.Http](https://www.nuget.org/packages/System.Net.Http/).
95
85
-[.NET Core Metapackages](packages.md) describe various layers and app-models by referencing the appropriate set of versioned library packages.
96
86
97
-
Architecture
98
-
============
87
+
## Architecture
99
88
100
89
.NET Core is a cross-platform .NET implementation. The primary architectural concerns unique to .NET Core are related to providing platform-specific implementations for supported platforms.
101
90
102
-
Environments
103
-
------------
91
+
### Environments
104
92
105
93
.NET Core is supported by Microsoft on Windows, macOS and Linux. On Linux, Microsoft primarily supports .NET Core running on Red Hat Enterprise Linux (RHEL) and Debian distribution families.
106
94
@@ -110,8 +98,7 @@ The [.NET Core Roadmap](https://github.com/dotnet/core/blob/master/roadmap.md) p
110
98
111
99
Other companies or groups may support .NET Core for other app types and environment.
112
100
113
-
Designed for Adaptability
114
-
-------------------------
101
+
### Designed for Adaptability
115
102
116
103
.NET Core has been built as a very similar but unique product relative to other .NET products. It has been designed to enable broad adaptability to new platforms, for new workloads and with new compiler toolchains. It has several OS and CPU ports in progress and may be ported to many more. An example is the [LLILC](https://github.com/dotnet/llilc) project, which is an early prototype of native compilation for .NET Core via the [LLVM](http://llvm.org/) compiler.
117
104
@@ -132,13 +119,11 @@ There are a mix of platform-specific and platform-neutral libraries in .NET Core
132
119
-[System.IO](https://github.com/dotnet/corefx/tree/master/src/System.IO) and [System.Security.Cryptography.Algorithms](https://github.com/dotnet/corefx/tree/master/src/System.Security.Cryptography.Algorithms) are platform-specific, given that the storage and cryptography APIs differ significantly on each OS.
133
120
-[System.Collections](https://github.com/dotnet/corefx/tree/master/src/System.Collections) and [System.Linq](https://github.com/dotnet/corefx/tree/master/src/System.Linq) are platform-neutral, given that they create and operate over data structures.
134
121
135
-
Comparisons to other .NET Platforms
136
-
===================================
122
+
## Comparisons to other .NET Platforms
137
123
138
124
It is perhaps easiest to understand the size and shape of .NET Core by comparing it to existing .NET platforms.
139
125
140
-
Comparison with .NET Framework
141
-
------------------------------
126
+
### Comparison with .NET Framework
142
127
143
128
The .NET platform was first announced by Microsoft in 2000 and then evolved from there. The .NET Framework has been the primary .NET product produced by Microsoft during that 15+ year span.
144
129
@@ -152,8 +137,7 @@ The major differences between .NET Core and the .NET Framework:
152
137
153
138
While .NET Core is unique and has significant differences to the .NET Framework and other .NET platforms, it is straightforward to share code, using either source or binary sharing techniques.
154
139
155
-
Comparison with Mono
156
-
--------------------
140
+
### Comparison with Mono
157
141
158
142
[Mono](http://www.mono-project.com/) is the original cross-platform and [open source](https://github.com/mono/mono) .NET implementation, first shipping in 2004. It can be thought of as a community clone of the .NET Framework. The Mono project team relied on the open [.NET standards](https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/dotnet-standards.md) (notably ECMA 335) published by Microsoft in order to provide a compatible implementation.
Copy file name to clipboardExpand all lines: docs/core/packages.md
+7-14
Original file line number
Diff line number
Diff line change
@@ -12,16 +12,14 @@ ms.devlang: dotnet
12
12
ms.assetid: 609b0845-49e7-4864-957b-21ffe1b93bf2
13
13
---
14
14
15
-
Packages, Metapackages and Frameworks
16
-
=====================================
15
+
# Packages, Metapackages and Frameworks
17
16
18
17
.NET Core is a platform made of NuGet packages. Some product experiences benefit from fine-grained definition of packages while others from coarse-grained. To accommodate this duality, the product is distributed as a fine-grained set of packages and then described in courser chunks with a package type informally called a "metapackage".
19
18
20
19
Each of the .NET Core packages support being run on multiple .NET runtimes, represented as
21
20
frameworks. Some of those frameworks are traditional frameworks, like `net46`, representing the .NET Framework. Another set is new frameworks that can be thought of as "package-based frameworks", which establish a new model for defining frameworks. These package-based frameworks are entirely formed and defined as packages, forming a strong relationship between packages and frameworks.
22
21
23
-
Packages
24
-
========
22
+
## Packages
25
23
26
24
.NET Core is split into a set of packages, which provide primitives, higher-level data types, app composition types and common utilities. Each of these packages represent a single assembly of the same name. For example, [System.Runtime](https://www.nuget.org/packages/System.Runtime) contains System.Runtime.dll.
27
25
@@ -58,8 +56,7 @@ Packages are referenced in project.json. In the example below, the [System.Runti
58
56
59
57
In most cases, you will not reference the lower-level .NET Core packages directly since you'll end up with too many packages to manage. Instead, you'll reference a metapackage.
60
58
61
-
Metapackages
62
-
============
59
+
## Metapackages
63
60
64
61
Metapackages are a NuGet package convention for describing a set of packages that are meaningful together. They represent this set of packages by making them dependencies. They can optionally establish a
65
62
framework for this set of packages by specifying a framework.
@@ -110,8 +107,7 @@ In the following example, the `Microsoft.NETCore.App` metapackage is referenced,
110
107
}
111
108
```
112
109
113
-
Frameworks
114
-
==========
110
+
## Frameworks
115
111
116
112
.NET Core packages each support a set of frameworks, declared with framework folders (within the lib and ref folders mentioned earlier). Frameworks describe an available API set (and potentially other characteristics) that you can rely on when you target a given framework. They are versioned as new APIs are added.
117
113
@@ -127,8 +123,7 @@ The `.NETFramework,Version=4.6` framework represents the available APIs in the .
127
123
128
124
The `.NETStandard,Version=1.3` framework is a package-based framework. It relies on packages that target the framework to define and expose APIs in terms of the framework.
129
125
130
-
Package-based Frameworks
131
-
========================
126
+
## Package-based Frameworks
132
127
133
128
There is a two-way relationship between frameworks and packages. The first part is defining the APIs available for a given framework, for example `netstandard1.3`. Packages that target `netstandard1.3` (or compatible frameworks, like `netstandard1.0') define the APIs available for `netstandard1.3`. That may sound like a circular definition, but it isn't. By virtue of being "package-based", the API definition for the framework comes from packages. The framework itself doesn't define any APIs.
134
129
@@ -145,8 +140,7 @@ The two primary package-based frameworks used with .NET Core are:
145
140
-`netstandard`
146
141
-`netcoreapp`
147
142
148
-
.NET Standard
149
-
-------------
143
+
### .NET Standard
150
144
151
145
The .NET Standard (TFM: `netstandard`) framework represents the APIs defined by and built on top of the [.NET Standard Library](../standard/library.md). Libraries that are intended to run on multiple runtimes should target this framework. They will be supported on any .NET Standard compliant runtime, such as .NET Core, .NET Framework and Mono/Xamarin. Each of these runtimes supports a set of .NET Standard versions, depending on which APIs they implement.
152
146
@@ -182,8 +176,7 @@ It may seem strange to target `netstandard1.3` but use the 1.5.0 version of `NET
182
176
183
177
The reverse would not be valid: targeting `netstandard1.5` with the 1.3.0 version of `NETStandard.Library`. You cannot target a higher framework with a lower metapackage, since the lower version metapackage will not expose any assets for that higher framework. The [versioning scheme] for metapackages asserts that metapackages match the highest version of the framework they describe. By virtue of the versioning scheme, the first version of `NETStandard.Library` is v1.5.0 given that it contains `netstandard1.5` assets. v1.3.0 is used in the example above, for symmetry with the example above, but does not actually exist.
184
178
185
-
.NET Core Application
186
-
---------------------
179
+
### .NET Core Application
187
180
188
181
The .NET Core Application (TFM: `netcoreapp`) framework represents the packages and associated APIs that come with the .NET Core distribution and the console application model that it provides. .NET Core apps must use this framework, due to targeting the console application model, as should libraries that intended to run only on .NET Core. Using this framework restricts apps and libraries to running only on .NET Core.
0 commit comments