* Increase the size to 8 parameters
* Introduce a unittest for codegen
* Change files
* Increase the params to 10
* Delete vnext/Microsoft.ReactNative.Managed.CodeGen.UnitTests/CodeGen/Lkg/Microsoft.ReactNative.Managed.CodeGen.UnitTests.CodeGen.CodeGenMethodTests--EightParamReturnInt--Sync.lkg
* Delete vnext/Microsoft.ReactNative.Managed.CodeGen.UnitTests/CodeGen/Lkg/Microsoft.ReactNative.Managed.CodeGen.UnitTests.CodeGen.CodeGenMethodTests--EightParamReturnInt--Async.lkg
## Description
This PR specifies that all projects should set the msbuild property `RestorePackagesWithLockFile` to `true` by default, not just the C# ones.
This way we can ensure that PR/CI will build reliably because every locked version should be available in the react-native-public ADO feed. Changes to NuGet dependencies in PRs should now explicilty fail if the new package version is not in the ADO feed, and therefore require us to manually approve the addition to the feed (as required by compliance).
Closes#11998
### Type of Change
- Bug fix (non-breaking change which fixes an issue)
- Breaking change (fix or feature that would cause existing functionality to not work as expected)
### Why
This way we can ensure that PR/CI will build reliably because every locked version should be available in the react-native-public ADO feed. Changes to NuGet dependencies in PRs should now explicilty fail if the new package version is not in the ADO feed, and therefore require us to manually approve the addition to the feed (as required by compliance).
Closes#11998
### What
This PR specifies that all projects should set the msbuild property `RestorePackagesWithLockFile` to `true` by default, not just the C# ones.
## Screenshots
N/A
## Testing
N/A
## Changelog
Should this change be included in the release notes: no
## Description
This PR adds configuration files for `cspell`, which is available as a recommended VS Code plugin for this repo. This PR also fixes most "non-breaking" typos (comments, error messages, local names) for code files within the repo.
This PR **does not** add any kind of spell-checking enforcement on the repo.
### Type of Change
N/A
### Why
Clear up misunderstandings in comments / error messages.
### What
What changes were made to the codebase to solve the bug, add the functionality, etc. that you specified above.
## Screenshots
N/A
## Testing
N/A
*Description*
This PR updates RNW to build with (and require) Visual Studio 2022. This includes upgrading the `Microsoft.ReactNative.Managed.CodeGen` project to .NET 6.0
This PR does not change the minimum / target Windows SDK versions for RNW or RNW apps.
This PR does not change the language versions of C++ (17) and C# (8.0) used.
*Type of Change*
- Breaking change (fix or feature that would cause existing functionality to not work as expected)
- This change requires a documentation update
*Why*
Visual Studio 2022 is the currently supported version of Visual Studio and what is available to download without an MSDN subscription to access older versions. As Visual Studio 2019 support is reduced/deprecated, we need to migrate.
Closes#8750Closes#9499Closes#10130
*What*
What's changed:
* All VS project files have been updated to require a minimum of VS 2022 (aka version 17.0).
* NuGet-based dependencies that are tied to VS version have been upgraded.
* The `Microsoft.ReactNative.Managed.CodeGen` project has been updated to .NET 6.0
* The snapshots for the codegen tests have been updated to pass
* The E2E Test app has been updated to the latest version of `react-native-xaml` (needed to fix build issues)
* Snapshots for E2E tests have been updated to pass
*Testing*
Builds and tests All tests
* Fix C# modules with multi-parameter callback methods
* Change files
* Change sln file to have VS 2019 formatting
* Update vnext/Microsoft.ReactNative.Managed/ReactNotificationIdOf.cs
Co-authored-by: Danny van Velzen <dannyvv@microsoft.com>
* Address code review feedback
Co-authored-by: Vladimir Morozov <vmoroz@users.noreply.github.com>
Co-authored-by: Danny van Velzen <dannyvv@microsoft.com>
* Depends on #9017 to be merged first to avoid failures of the CI pipeline
We currently aggregate the various universal flavors into a UniversalBuild job, which must be completed before NuGet package based jobs. This means we may be waiting to start debug-flavor NuGet CLI tests until the longer release is also finished. It also adds a bit of extra latency.
This removes the step, and instead relies on only the flavors needed. In doing so we also move NuGet header layout to package creation time, instead of depending on a single job to also upload header artifacts. We no longer rely on MSBuild to patch react, so this can now be done without building.
This also partitions pipeline artifacts per-slice, to let NuGet init tests only download a single platform.
* remove changefile
* Change files
* PublishToolDuringBuild non-x64
* Add Microsoft.ReactNative.Managed.CodeGen.UnitTests
* MSBuild condition fix
* Typed slices with isolated artifacts
* yaml
* yaml
* convertToJson
* ARM casing in matrix names
* Update UniversalTest download path
* yaml
* Move PackDesktop to agent pool
The fix for #5617 introduced a regression. The fix for that issue updated the code
to allow for all derived types of `IReactPromise<T>`. In this exapmle the C# compiler
found an assignability conversion between `IReadOnlyList<string>` and `IReactPromise<T>`.
Which resulted in invalid generated code that doesn't compile.
This fix was in hindsight also not the correct fix since the codegen (jsut like the
reflection based code) passes ReactPromise<T> instance. So the only two valid types
should be `IReactPromise<T>` or `ReactPromise<T>`. Which is what this fix puts in.
Fixes#5870
Co-authored-by: Jon Thysell (JAUNTY) <jthysell@microsoft.com>
* Try to Fix CI NuGet Errors
This change makes us use a deterministic NuGet binary that we always download. We remove the NuGetPath option which isn't exposed as a CLI option, and don't trust any local NuGet exe because we can't guarantee version. Instead of wrapping the entire logic in a recursive retry when downloading the binary, we isolate retries to just downloading the binary itself. We remove some of the blanket catches, command output parsing, and delegation to PowerShell instead of JS functions that were somehow leading to executing the whole command when trying to locate it?
Haven't tested locally. Will tell what CI thinks.
* Change files
* Rename changelog entry
* Close the write stream
* Https
* Make sure both streams finish sucessfully
* Update netcore version as azure devops images drop support
* Remove accidentally generated headers
Co-authored-by: Danny van Velzen 🁴 <dannyvv@microsoft.com>