- Remove depprojs which currently binplace external references into the RefPath folders in favor of PackageReference and PackageDownload items.
- Build all configurations by default when building an individual project (either on the CLI or inside VS) same as with the official SDK. This enables .NETFramework Test Explorer support.
- Centrally define libraries that compose the shared framework instead of in each Directory.Build.props file to be able to build the targeting pack first and consume it in the OOB libraries.
- Use ProjectReferences to reference OOB projects. Compile against the reference assembly but use the implementation assembly app-local during runtime.
- Remove OOBs from the testhost and remove the testhost folder for .NETFramework as it isn't required anymore.
- Only binplace for $(NetCoreAppCurrent) to compose a) the targeting pack, b) the runtime pack, c) the testhost, d) a full closure for the shims.
- Use Targeting Packs for OOB projects (with their implicit assembly references) but still explicitly define granular references for .NETCoreApp configurations (DisableImplicitAssemblyReferences switch). Use the implicit targeting pack references in some Microsoft.Extensions.* cases.
- Remove placeholder configurations as they aren't needed anymore with explicit P2Ps vs Targeting Pack references.
- Remove implicit assembly references (ie for .NETFramework, mscorlib)
- Remove AssemblySearchPath hacks that were introduced with b7c4cb7 as the targeting pack is now used by default.
- Reduce unnecessary .NETFramework configurations that were added to run tests in favor of the already existing ref&src configurations.
- Stop hardcoding the paths for wasm assemblies and use the returned TargetPath of the ProjectReferences.
- Addressed formatting (ItemGroups, References at the bottom of the project file, ordering of references, use LibrariesProjectRoot instead of a relative path, unnecessary AssemblyName and RootNamespace properties which are identical to the project name, ordering of tfms)
- Revert "fix clean (#33758)"
* Add proposal for breaking changes
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
* use arcade target
* extra space
* fixes generation of reference src from runtime projects
* run target to get genapi
* use referencePath to get references
* adding GenerateReferenceSource target
* added the target name
- Use RestoreUseStaticGraphEvaluation which improves no-op restore by 10-15x down to 10-20 seconds.
- .builds msbuild files renamed to .proj as RestoreUseStaticGraphEvaluation throws for non .proj files without an env var set.
- Introducing subsets for libraries and mono and replacing -buildtests switch which was only working for libraries in favor of the subset switch -subset tests which works consistently.
- Fixing the Microsoft.DotNet.CodeAnalysis analyzer which wasn't running and adding missing exclusions.
- Separating restore and build phases in different parts in the repo (ie for installer.tasks) as generated props and targets need to be imported which requires a reevaluation in the build phase.
- Fix eng/docker/build-docker-sdk.ps1 by using the official build entrypoints (cc @alnikola)
- Remove a few depprojs in favor of project restore (faster restore :))
- Fix root code coverage measurement not working correctly
- Traversal support instead of dir.traversal.targets or manual build target defines.
- Introduce a root Build.proj entrypoint which is responsible for building and restoring the repository. This is necessary to enable the new NuGet fast restore which works best and fastest with a single entrypoint.
- Avoid binclashes in libraries and between libraries and installer (netstandard.depproj vs netstandard.csproj)
- Upgrading the SDK to 5.0 latest
- Code cleanup
* Enable restore for projects in libraries
Enabling project restore for ref and src projects
* Remove winrt.depproj
* Remove tools.depproj
* Enable upfront restore
* Fix casing of PInvokeAnalyzerException file
* Remove harvestPackages.depproj and refactoring
Removing havestPackages.depproj in favor of a target that is hooked
into Arcade's repo restore phase in Tools.props.
Additionally moving common properties that are used both in Arcade and
the repo inside Configurations.props. Before they were scattered around
multiple places (Versions.props, Subsets.props).
* Set ilasm/ildasm RID for restore
* Sequence restore into steps out of upfront restore
* Fix docker entrypoints by using build.cmd/sh
* Implicitly build when invoking the test target
To get closer to the VSTest behavior this changes the Test target to
implicitly invoke the Build target unless /p:TestNoBuild is passed in.
(VSTest uses VSTestNoBuild which is controlled by the
dotnet test --no-build flag)
* Fix error logging for test outputs
* Update dotnet msbuild to build docs
* Update ReportGenerator global tool version
Updating ReportGenerator's version to 4.5.0 which removes unnecessary
logging (args passed in).
* Remove workarounds in build scripts for netcoreapp and netfx versionless
* Don't pass down netcoreapp in yml builds
* PR Feedback and condition passing -framework arg when not empty in yml files
* Condition TargetGroup global property in helix.yml
* PR Feedback to not use targetgroup for allconfigurations in sendtohelix
* Change from PackageTesting to BuildAllConfigurations
* Move files into hierarchy
* fix more links
* Fix botr and features links
* Remove bad apostrophe
* spelling
* Apply suggestions from code review
Co-Authored-By: Youssef Victor <31348972+Youssef1313@users.noreply.github.com>
* Update docs/coding-guidelines/package-projects.md
Co-Authored-By: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Youssef Victor <31348972+Youssef1313@users.noreply.github.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>