Skip to content

Commit cacc1ff

Browse files
authored
Remove NetNative uapaot support (dotnet/corefx#38170)
* Remove NetNative uapaot support * Remove uapaot assets from packages * Disable emit lightweight and ilgen version check Commit migrated from dotnet/corefx@ab58ff6
1 parent 979b1bd commit cacc1ff

148 files changed

Lines changed: 113 additions & 482 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/libraries/building/pinvoke-checker.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Each project is analyzed against one of two possible lists we maintain.
99
## Legal UWP API's
1010

1111
### Applies to
12-
This applies to product libraries that are being built for use in a modern Windows app (aka UWP app, or app running on UAP). When building the `uapaot` or `uap` configurations we will apply this check. If the library does not have a `uap` or `uapaot` configuration explicitly listed in `Configuration.props` in the project folder, when targeting `uap` or `uapaot` we will build the `netstandard` configuration, and apply this check.
12+
This applies to product libraries that are being built for use in a modern Windows app (aka UWP app, or app running on UAP). When building the `uap` configurations we will apply this check. If the library does not have a `uap` configuration explicitly listed in `Configuration.props` in the project folder, when targeting `uap` we will build the `netstandard` configuration, and apply this check.
1313

1414
We do not currently apply this check to test binaries. Although when testing UWP libraries the tests must run within a test app, they do not need to pass through the store validation process. It is still possible they may call an API that does not work correctly within an app's security boundary and that call would have to be avoided.
1515

docs/libraries/coding-guidelines/project-guidelines.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Below is a list of all the various options we pivot the project builds on:
4040
## Individual build properties
4141
The following are the properties associated with each build pivot
4242

43-
- `$(TargetGroup) -> netstandard | netcoreapp | netcoreappcorert | netfx | uap | uapaot`
43+
- `$(TargetGroup) -> netstandard | netcoreapp | netfx | uap`
4444
//**CONSIDER**: naming netcoreappcorert something shorter maybe just corert.
4545
- `$(OSGroup) -> Windows | Linux | OSX | FreeBSD | [defaults to running OS when empty]`
4646
- `$(ConfigurationGroup) -> Release | [defaults to Debug when empty]`
@@ -125,9 +125,7 @@ Temporary versions are at https://github.com/dotnet/corefx/blob/dev/eng/src/Tool
125125

126126
## Supported full build configurations
127127
- .NET Core latest on current OS (default) -> `netcoreapp-[RunningOS]`
128-
- .NET Core CoreRT -> `netcoreappcorert-[RunningOS]`
129128
- .NET Framework latest -> `netfx-Windows_NT`
130-
- UWP -> `uapaot-Windows_NT`
131129
- UAP F5 -> `uap-Windows_NT`
132130

133131
## Project configurations for VS
@@ -136,7 +134,7 @@ For each unique configuration needed for a given library project a configuration
136134
`$(TargetGroup)-$(OSGroup)-$(ConfigurationGroup)|$(Platform`
137135
- Note that the majority of managed projects, currently all in corefx, $(Platform) is overridden to be AnyCPU.
138136

139-
`<Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release;uapaot-Windows_NT-Debug;uapaot-Windows_NT-Release</Configurations>`
137+
`<Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>`
140138

141139
####*Examples*
142140
Project configurations with a unique implementation on Unix and Windows
@@ -145,7 +143,7 @@ Project configurations with a unique implementation on Unix and Windows
145143
```
146144
Project configurations that are unique for a few different target frameworks and runtimes
147145
```xml
148-
<Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release;uapaot-Windows_NT-Debug;uapaot-Windows_NT-Release</Configurations>
146+
<Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
149147
```
150148

151149
## Updating Configurations

docs/libraries/project-docs/developer-guide.md

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -433,24 +433,14 @@ If coverage succeeds, the individual report can be found at `$(TestPath)\report\
433433
434434
Code coverage reports from the continuous integration system are available from the links on the front page of the corefx repo.
435435
436-
### Building tests with .NET Native (Windows only)
436+
### Building tests with UWP (Windows only)
437437
438-
.NET Native is a technology that allows compiling IL applications down into a native executable and minimal set of native DLLs, containing all needed functionality from the .NET Framework in native format.
439-
440-
```cmd
441-
:: To run a single project with the .NET Native toolchain, set the appropriate build flags:
442-
cd src\Microsoft.CSharp\tests
443-
dotnet msbuild /t:BuildAndTest /p:TargetGroup=uapaot
444-
```
445-
If native compilation succeeds, the test will build and run as a native executable named "xunit.console.exe" in a folder named "uapaot" in the test execution folder. The .NET Native toolchain, required to build with TargetGroup `uapaot` is currently not available for external contributors.
446-
447-
A slight variation on these arguments will allow you to build and run against `uap`, the managed version of the UWP Framework subset, used when debugging UWP applications in Visual Studio:
438+
This will allow you to build and run against `uap`, the managed version of the UWP Framework subset, used when debugging UWP applications in Visual Studio:
448439
```cmd
449-
:: To run a single project with the .NET Native toolchain, set the appropriate build flags:
450440
cd src\Microsoft.CSharp\tests
451441
dotnet msbuild /t:BuildAndTest /p:TargetGroup=uap
452442
```
453-
In this case, your test will get executed within the context of a wrapper UWP application, targeting the Managed uap as opposed to the .NET Native version.
443+
In this case, your test will get executed within the context of a wrapper UWP application, targeting the Managed uap.
454444
455445
The CoreFX build and test suite is a work in progress, as are the [building and testing instructions](../README.md). The .NET Core team and the community are improving Linux and OS X support on a daily basis and are adding more tests for all platforms. See [CoreFX Issues](https://github.com/dotnet/corefx/issues) to find out about specific work items or report issues.
456446

docs/libraries/project-docs/glossary.md

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,6 @@ The Universal Windows Platform (UWP) is the platform that is used for building m
5454

5555
UWP provides many services, such as a centralized app store, an execution environment (AppContainer), and a set of Windows APIs to use instead of Win32 (WinRT). UWP has no dependency on .NET; apps can be written in C++, C#, VB.NET, and JavaScript. When using C# and VB.NET the .NET APIs are provided by .NET Core.
5656

57-
### .NET Native
58-
59-
**Also referred to as**: ahead-of-time (AOT), IL compiler (ILC)
60-
61-
.NET Native is a compiler tool chain that will produce native code ahead-of-time (AOT), as opposed to just-in-time (JIT). The compilation can happen on the developer machine as well as on the store side, which allows blending AOT with the benefits of servicing.
62-
63-
You can think of .NET Native as an evolution of NGEN (Native Image Generator): NGEN basically simply runs the JIT up front, the code quality and behavior is identical to the JITed version. Another downside of NGEN is that it happens on the user's machine, rather than the developer's machine. NGEN is also at the module level, i.e. for each MSIL assembly there is a corresponding NGEN'ed assembly that contains the native code. .NET Native on the other hand is a C++ like compiler and linker. It will remove unused code, spend more time optimizing it, and produce a single, merged module that represents the closure of the application.
64-
65-
UWP was the first application model that was supported by .NET Native. We now also support building native console applications for Windows, OS X and Linux.
66-
6757
### Rotor
6858

6959
**Also referred to as**: Shared Source Common Language Infrastructure (SSCLI)

docs/libraries/project-docs/pullrequest-builds.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ As part of our Pull Requests we have some validation builds where we build the p
1010
| Windows x64_Debug | netcoreapp | X | X |
1111
| Windows NETFX_x86_Release | netfx | X | X |
1212
| Windows UWP_CoreCLR_x64_Debug | uap | X | X |
13-
| Windows UWP_NETNative_x86_Release | uapaot | X | |
1413
| Linux x64_Release | netcoreapp | X | X |
1514
| Linux arm64_Release | netcoreapp | X | X |
1615
| Linux arm_Release | netcoreapp | X | |

eng/BlockReflectionAttribute.cs

Lines changed: 0 additions & 15 deletions
This file was deleted.

eng/blockReflectionAttribute.targets

Lines changed: 0 additions & 15 deletions
This file was deleted.

eng/configurations/targetgroups.props

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,9 @@
44
<TargetFramework>netcore50</TargetFramework>
55
<TargetFrameworkIdentifier>.NETCore</TargetFrameworkIdentifier>
66
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
7-
<TargetingPackNugetPackageId>Microsoft.TargetingPack.Private.NetNative</TargetingPackNugetPackageId>
87
<UWPCompatible>true</UWPCompatible>
98
<CompatibleWith>netstandard1.4</CompatibleWith>
109
</TargetGroups>
11-
<TargetGroups Include="netcore50aot">
12-
<TargetFramework>netcore50</TargetFramework>
13-
<TargetFrameworkIdentifier>.NETCore</TargetFrameworkIdentifier>
14-
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
15-
<PackageTargetRuntimeSuffix>aot</PackageTargetRuntimeSuffix>
16-
<TargetingPackNugetPackageId>Microsoft.TargetingPack.Private.NetNative</TargetingPackNugetPackageId>
17-
<UWPCompatible>true</UWPCompatible>
18-
<Imports>netcore50</Imports>
19-
<CompatibleWith>netstandard1.4</CompatibleWith>
20-
</TargetGroups>
21-
<TargetGroups Include="uap10.0.16299aot">
22-
<TargetFramework>uap10.0.16299</TargetFramework>
23-
<TargetFrameworkIdentifier>UAP</TargetFrameworkIdentifier>
24-
<TargetFrameworkVersion>10.0.16299</TargetFrameworkVersion>
25-
<PackageTargetRuntimeSuffix>aot</PackageTargetRuntimeSuffix>
26-
<UWPCompatible>true</UWPCompatible>
27-
<Imports>netcore50aot</Imports>
28-
<CompatibleWith>uap10.0.16299;netstandard</CompatibleWith>
29-
</TargetGroups>
3010
<TargetGroups Include="uap10.0.16299">
3111
<TargetFramework>uap10.0.16299</TargetFramework>
3212
<TargetFrameworkIdentifier>UAP</TargetFrameworkIdentifier>
@@ -35,15 +15,6 @@
3515
<Imports>netcore50</Imports>
3616
<CompatibleWith>netstandard</CompatibleWith>
3717
</TargetGroups>
38-
<TargetGroups Include="uapvnextaot">
39-
<TargetFramework>$(UAPvNextTFM)</TargetFramework>
40-
<TargetFrameworkIdentifier>$(UAPvNextTFI)</TargetFrameworkIdentifier>
41-
<TargetFrameworkVersion>$(UAPvNextVersion)</TargetFrameworkVersion>
42-
<PackageTargetRuntimeSuffix>aot</PackageTargetRuntimeSuffix>
43-
<UWPCompatible>true</UWPCompatible>
44-
<Imports>uap10.0.16299aot</Imports>
45-
<CompatibleWith>uapvnext;netstandard2.1</CompatibleWith>
46-
</TargetGroups>
4718
<TargetGroups Include="uapvnext">
4819
<TargetFramework>$(UAPvNextTFM)</TargetFramework>
4920
<TargetFrameworkIdentifier>$(UAPvNextTFI)</TargetFrameworkIdentifier>
@@ -61,16 +32,6 @@
6132
<Imports>uapvnext</Imports>
6233
<CompatibleWith>netstandard2.1</CompatibleWith>
6334
</TargetGroups>
64-
<!-- uapaot is an alias for uapvNext, aot runtime -->
65-
<TargetGroups Include="uapaot">
66-
<TargetFramework>$(UAPvNextTFM)</TargetFramework>
67-
<TargetFrameworkIdentifier>$(UAPvNextTFI)</TargetFrameworkIdentifier>
68-
<TargetFrameworkVersion>$(UAPvNextVersion)</TargetFrameworkVersion>
69-
<PackageTargetRuntimeSuffix>aot</PackageTargetRuntimeSuffix>
70-
<UWPCompatible>true</UWPCompatible>
71-
<Imports>uapvnextaot</Imports>
72-
<CompatibleWith>uap;netstandard2.1</CompatibleWith>
73-
</TargetGroups>
7435
<TargetGroups Include="netstandard1.0">
7536
<TargetFramework>netstandard1.0</TargetFramework>
7637
<!-- By default, netstandard libraries will be held to the UWP compatibility bar;

eng/dependencies.props

Lines changed: 0 additions & 43 deletions
This file was deleted.

eng/pipelines/libraries/windows.yml

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -166,26 +166,20 @@ jobs:
166166
displayName: Build Packages and Tests
167167

168168
# Legs without HELIX testing
169+
- ${{ if eq(parameters.fullMatrix, 'true') }}:
169170
- job: WindowsNoTest
170171
displayName: Windows
171172
strategy:
172173
matrix:
173-
${{ if eq(parameters.fullMatrix, 'false') }}:
174-
UWP_NETNative_x86_Release:
175-
_BuildConfig: Release
176-
_architecture: x86
177-
_framework: uapaot
178-
179-
${{ if eq(parameters.fullMatrix, 'true') }}:
180-
arm_Release:
181-
_BuildConfig: Release
182-
_architecture: arm
183-
_framework: netcoreapp
174+
arm_Release:
175+
_BuildConfig: Release
176+
_architecture: arm
177+
_framework: netcoreapp
184178

185-
UAP_arm_Release:
186-
_BuildConfig: Release
187-
_architecture: arm
188-
_framework: uap
179+
UAP_arm_Release:
180+
_BuildConfig: Release
181+
_architecture: arm
182+
_framework: uap
189183

190184
pool:
191185
name: Hosted VS2017

0 commit comments

Comments
 (0)