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: accepted/2022/simplify-output-paths.md
+4-4
Original file line number
Diff line number
Diff line change
@@ -9,24 +9,24 @@ Currently, the default output path for a .NET project includes folders for the `
9
9
-`bin\<Configuration>\<TargetFramework>\publish` - Publish output with no `RuntimeIdentifier`
10
10
-`bin\<Configuration>\<TargetFramework>\<RuntimeIdentifier>\publish` - Publish output with `RuntimeIdentifier`
11
11
12
-
This is rather complicated an inconsistent, which can make for a poor first impression of the .NET platform.
12
+
This is rather complicated and inconsistent, which can make for a poor first impression of the .NET platform.
13
13
14
14
We'd like to try to improve the output path structure. Desired qualities include:
15
15
16
16
- Simple and consistent
17
17
- Avoid cases where one output path is nested inside of another one
18
-
- Avoid excessively deep directory heirarchies
18
+
- Avoid excessively deep directory hierarchies
19
19
- Get rid of `obj` folder in project root
20
20
21
21
## Proposed behavior
22
22
23
-
Projects targeting .NET and higher will by default use a new output path format. The output path will consist of the following 3 nested folders
23
+
Projects targeting .NET 8 and higher will by default use a new output path format. The output path will consist of the following 3 nested folders
24
24
25
25
-`bin` - All output (including intermediate output, will go under this folder)
26
26
- Output Type - Such as `build`, `publish`, `obj`, or `packages`
27
27
- Pivots - This will at minimum be the `Configuration`, such as `Debug` or `Release`. Other pivots such as `TargetFramework` or `RuntimeIdentifier` may also be included, and the pivots will be joined by the underscore (`_`) character
28
28
-`TargetFramework` will be included in the folder name if the project is multi-targeted (`TargetFrameworks` is non-empty), or if the `TargetFramework` property was set via the command line (ie is a global property)
29
-
-`RuntimeIdentifier` will be included in the folder name if it was explicitly set (either in a project file or on the command line). If it is set automatically by the SDK (for exmaple because `SelfContained` was set)
29
+
-`RuntimeIdentifier` will be included in the folder name if it was explicitly set (either in a project file or on the command line). If it is set automatically by the SDK (for example because `SelfContained` was set)
0 commit comments