Age | Commit message (Collapse) | Author |
|
(#29182)
System.Numerics.Vectors was made inbox in netcoreapp2.0, we were still allowing distribution
in the package, however the package was applying the netstandard2.0 implementation to
netcoreapp2.0.
Now that we've disabled oobing the netcoreapp2.1 build (since many types were moved into
corelib) it no longer makes sense for us to mantain the ability to oob the netcoreapp2.0 build.
Doing so not only degrades the inbox version (by not using the framework's MathF
implementation) but also creates type-unfication issues on rollforward: app targets 2.0
carries OOB copy of Vectors with higher version than 2.1, rolls forward to 2.1 and host will
use the OOB copy, no longer unifying to the types in corelib.
|
|
|
|
|
|
* Build uapaot System.Numerics.Vectors
With `Vector<T>` now residing in System.Private.CoreLib, directly reference System.Private.Corelib instead of contracts just like netcoreapp does.
Add uapaot flavor since System.Private.CoreLib has a different strong name key on that platform.
* Make EnsureExtendedPrefixOverMaxPath available to UAP
Add the helper method `System.IO.PathInternal.EnsureExtendedPrefixOverMaxPath` to Common\src\System\IO\PathInternal.Windows.cs. It was previously not visible to UAP since Common\src\CoreLib\System\IO\PathInternal.Windows.cs is not included in UAP compilation.
* Keep SocketsHttpHandler out of UAP builds
SocketsHttpHandler is not supported in uap and is currently leaking into UAP builds since they've been disabled for a few weeks. Adjust the contract so it's not available to UAP, and clean the implementation assembly so SocketsHttpHandler internals don't leak out into HttpClientHandler.Core.cs.
* Fix GetAddrInfoExSupportsOverlapped UAP build break
`System.Net.NameResolutionPal.GetAddrInfoExSupportsOverlapped` uses LoadLibraryExW which is not compatible with UAP (which only supports LoadLibrary of DLLs within a container). Refactor the helper so UAP returns false.
* Revert "Disable UAP legs per #26802 (#26822)"
This reverts commit 120dce456a90df9982797d6c94eaaababd3e00d1.
* Revert "Disable UAP configurations in all configurations build"
This reverts commit 2202b4fd49ace58876763903f43cf27b2275c10a.
* Revert "Disable UAP official builds (#26871)"
This reverts commit ef79caf14cd922c8aa1a9aa280cbe503fdce26aa.
- Baseline the ApiCompat and GenFacades failures in System.Runtime.Extensions and System.Threading.ThreadPool.
- Adjust naming of files to match branch conventions
- Fix up some configuration issues with uap packaging. The CoreFX.Private.TestUtilities packaging needs updated build tools which can map between uwp6.0 and netstandard2.0.
- ifdef out Thread.GetCurrentProcessorId until we get a new System.Private.CoreLib.
|
|
|
|
Now that System.Numeric.Vectors has been removed from netstandard
we need to remove the facade ref and build a real reference.
|
|
|
|
|
|
We need the package even though this library is currently part of
netstandard2.0 (at least for now https://github.com/dotnet/standard/issues/250)
because not all types are present in .NET 4.6.1 even though it supports
netstandard2.0.
|
|
BuildConfigurations
|
|
Remove all cruft from projects related to building desktop configs which
now build in standard repo.
|
|
This fixes all src and ref projects to build when TargetGroup=netfx.
|
|
|
|
|
|
things (#14062)
* Used GenerateBuilds.ps1 script to generate the P2P references from the project.json files in ref
* Update refs to build with ProjectReference's instead of package references
This deletes all the ref\project.json files and instead adds ProjectReference
to other refs that are used to build.
There is only one exception which was System.Net.Http which needed a project.json
to get the net46 targeting pack otherwise everything else is P2P.
* Update Reflection.Emit contracts to support latest version of contracts
* Add depproj to get windows.winmd support when building refs
* Special handle System.Net.Http ref project to deal with net46 targeting pack
* Moved CLSCompliant to SecureString ctor instead of type
* Add P2P reference from S.IO -> S.R.Extensions
* Add additional ProjectReferences to more ref projects after master rebase
* Start binplacing ref assemblies and disable rest of build
* Simplify all ref projects to only build for netcoreapp (default target group)
* Only binplace netcoreapp refs
* Allow Reference's to be resolved from targeting pack directories
* Use GenerateBuilds.ps1 to convert src project.json refs to References
* Allow overriding stuff in Tools
* System.Runtime src project building against targeting pack
* Re-purpose GenerateBuilds.ps1 to re-write src references
* Only build csproj files in src.builds
* More custom stuff in GenerateBuilds.ps1
* Binplace all netstandard assemblies into netcoreapp as well.
* Add project.json to System.Collections.Immutable
* More custom generatebuilds.ps1 stuff
* Normalize csproj files before running GenerateBuilds.ps1
* Better match the replaced 'None Include="project.json"' line.
* Another missing project.json inclusion in csproj
* Remove ExcludeFromCodeCoverageAttribute from Immutable project
* Include another project.json
* Add some P2P references
* Add another project.json include
* Disable Http.Rtc project.
* Disable two more UWP projects and another P2P ref"
* More Cleanup
* Run GenerateBuilds.ps1 to re-write all nuget refs as <Reference>'s
* Binplace netstandard runtime assemblies to netcoreapp as well.
* Re-hook all src projects into build.proj
* Fix bin clashing caused by bad ProjectReference metadata
* Use 'copy' instead of 'cp' in init-tools.cmd. Add copying to init-tools.sh as well.
* Correct casing of windows.winmd in depproj
* Disable System.Memory.csproj outside of Windows
* Fix unix exclusion of System.Memory, and include vbproj files
* Fix VisualBasic compilation
* There was an extra definition of MemberTypes that was internal to the
assembly. It's now defined in System.Private.CoreLib, so I deleted the
extra here.
* There was an invalid call in Operators.vb that I fixed.
* Add additional project references and configuration fixes after rebase
* Fix build warnings in ref projects
* Fix build warnings in src projects
|
|
|
|
|
|
These are now redundant to the property defined in src\<lib>\dir.props.
|
|
Now that we have stable packages for our current versions we need to
bump the 3rd portion (bugfix) to represent code-changes without API
additions.
|
|
Previously we targeted netstandard 1.3 because this contract was added
inbox to .NET 4.6, however we need not constrain this to 1.3 since the
implementation can be used back to NET 4.5/wp8/wpa81.
This updates BuildToolsVersion to stop forcing NS1.3 for this contract,
and retargets the library to netstandard1.0.
|
|
Fixes https://github.com/dotnet/corefx/issues/5707
We are changing the .NET packages to no longer use the ‘dotnet’, ‘dotnet5.x’, and ‘dnxcore50’ monikers. This is thee first stage of the change for dotnet->netstandard.
The replacements are as follows
Old moniker | New moniker
----------------- | ------------------
dotnet5.x | netstandard1.y (where y = x -1)
DNXCore50 | netstandardapp1.5
dotnet | netstandard1.3
To prepare for this change you can do the following to your project.json. This change will require a recent build of NuGet or dotnet.exe and can be done prior to consuming the packages with the breaking change. These packages will not work with DNX.
For a project targeting dotnet5.6
```
"frameworks": {
"netstandard1.5": {
"imports": [ "dotnet5.6" ]
}
},
```
For a project targeting dnxcore50
```
"frameworks": {
"netstandardapp1.5": {
"imports": [ "dnxcore50", "portable-net45+win8" ]
}
},
```
[tfs-changeset: 1578321]
|
|
|
|
|
|
We need a new DNX to understand the latest packages.
We also need to move all "dotnet" projects to use dotnetX.X (generations)
now that the packages no longer have "dotnet" assets.
The new version of DNX dropped support for the aspnetcore
so I needed to update a few projects/packages that depended
on old package versions that had this moniker.
[tfs-changeset: 1540388]
|
|
All projects that previously used dotnet have been updated to specify the appropriate generation of the surface area they depend on or in the case of desktop inbox contracts, the generation that includes the set of platforms they can support.
Now all packages contain all generations of API that they have ever shipped.
In doing this I needed to change how we determine package version. Before we ensured all assemblies would have the same version and used that. Now we choose the max.
Additionally I needed to change how we chose which asset to use for netcore50 when the dotnet asset was obscured by a placeholder for a previous netcore release (eg System.Runtime will have placeholders for Win8 since it was inbox there). To do this I wrote a task that uses nuget to evaluate the package assets with and without the placeholders. In this way it chooses the "best" dotnet implementation and reference assembly to use for netcore50.
This new model made my old MSBuild-based validation impossible to carry forward, so I wrote better validation in a task that actually uses Nuget's asset resolution algorithm. This uncovered many existing issues in packages that I have cleaned up. The validation algorithm could use some polish but its working now. Perf is not great, package build went from 15s to ~2 minutes. I'll work on this some more by making it incremental (input: nuspec, output: marker created on success). Profiling shows that most of the time is spent in calling the nuget APIs. I'll see if I can reduce some of this with caching for things that don't change (eg: RID graph). Ultimately I think its a reasonable tradeoff for the types of bugs I can find this way.
[tfs-changeset: 1539216]
|
|
This change updates the assembly versions of all of the corefx assemblies
as needed after we shipped stable versions. Assemblies with API differences
get a minor version bump. Assemblies with only bugfixes get a build version
bump.
In order to facilitate this I had to update the reference assemblies, so I took
the opportunity to port them all to the open.
[tfs-changeset: 1514419]
|