A framework for building native Windows apps with React.
Перейти к файлу
Jon Thysell 5885ee4477
Upgrade to VS 2022 (#9916)
*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 #8750
Closes #9499 
Closes #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
2022-10-31 11:00:09 -07:00
.ado Upgrade to VS 2022 (#9916) 2022-10-31 11:00:09 -07:00
.github Add code owners for networking stack (#10295) 2022-07-22 17:05:39 -07:00
.vscode Integrate 7/29 RN Nightly Build (#10479) 2022-10-04 10:17:58 -07:00
change Upgrade to VS 2022 (#9916) 2022-10-31 11:00:09 -07:00
docs Upgrade to VS 2022 (#9916) 2022-10-31 11:00:09 -07:00
packages Upgrade to VS 2022 (#9916) 2022-10-31 11:00:09 -07:00
vnext Upgrade to VS 2022 (#9916) 2022-10-31 11:00:09 -07:00
.clang-format Consolidate duplicated clang-format files (#7021) 2021-02-03 13:15:16 -08:00
.editorconfig Use PackageReference for C++ dependencies (#8195) 2021-12-03 23:19:47 -08:00
.gitattributes Add codegen-windows command (#10532) 2022-09-26 13:35:26 -07:00
.gitignore Fix ExecuteJsi on instance shutdown (#10149) 2022-06-18 00:58:16 -07:00
.prettierrc Adjust Prettier Config to Match react-native (#9819) 2022-04-11 17:34:40 -07:00
.unbroken_exclusions Fix CI warnings on github returning 403's (#10440) 2022-08-25 14:10:41 -07:00
.yarnrc.yml npm postinstall and preinstall scripts pose a potential attack vector. We previously disabled their use in our repo, but I enabled them so we could use patch-package, to alter Picker for consumption in our repo. All changes have landed upstream, so we shouldn't need to do this anymore. (#9061) 2021-11-05 08:42:58 +00:00
CONTRIBUTING.md Update CONTRIBUTING.md (#10065) 2022-06-07 16:42:52 +00:00
Directory.Build.props Fix `yarn install` run in VS project builds (#10747) 2022-10-24 19:49:17 +00:00
Directory.Build.targets Fix `yarn install` run in VS project builds (#10747) 2022-10-24 19:49:17 +00:00
LICENSE fix(LICENSE): Remove FacebookLicense folder, all local source code now MIT 2018-03-06 08:19:39 -05:00
NuGet.Config Update nuget feed declarations (#10332) 2022-08-03 15:40:47 -07:00
README.md Fix typo and references to Facebook (#10552) 2022-09-12 17:22:01 -07:00
beachball.config.js Add beachball change transformer (#9488) 2022-02-12 15:11:21 +00:00
jest.config.js Don't try to run Jest Tests From the Repo Root (#5462) 2020-07-08 17:31:51 -07:00
lage.config.js Ensure `yarn windows` and `Visual Studio` restore `packages.config` projects (#9401) 2022-01-21 08:21:00 +00:00
lgtm.yml Update lgtm.yml 2022-09-12 11:00:39 -07:00
logo.png 🎨 Add Hero and Logo (#457) 2016-06-03 15:03:03 -04:00
package.json Fix dependencies in root package.json (#9958) 2022-05-12 11:38:33 -07:00
yarn.lock Upgrade to VS 2022 (#9916) 2022-10-31 11:00:09 -07:00

README.md

React Native for Windows

Build native Windows apps with React.

React Native for Windows is released under the MIT license. Current npm package version. PRs welcome!

Hero Image with Logo

See the official React Native website for an introduction to React Native.

React Native is a framework developed by Meta that enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere.

This repository adds support for the Windows 10 SDK, which allows you to build apps for all devices supported by Windows 10 including PCs, tablets, 2-in-1s, Xbox, Mixed reality devices etc.

Visit the official React Native for Windows + macOS website to learn more.

Contents

Status and roadmap

Check out our blog if you'd like to stay up to date on the status of React Native for Windows and check out current and past roadmaps. We will post all new releases, updates and general news about the project there.

Requirements

You can run React Native Windows apps only on devices supported by the Windows 10 SDK.

For a full and detailed list of the system requirements and how to set up your development platform, see our System Requirements documentation on our website.

Getting Started

See the Getting Started Guide on our React Native for Windows + macOS website to build your first React Native for Windows app.

Logging Issues

Search the existing issues and try to make sure your problem doesnt already exist before opening a new issue. If your issue doesn't exist yet, try to make sure you provide as much information as possible to us so we can help you sooner. Its helpful if you include information like:

  • The version of Windows, React Native, React Native Windows extension, and device family (i.e., mobile, desktop, Xbox, etc.) where you ran into the issue.
  • A stack trace and reduced repro case when possible.
  • Ensure the appropriate template is used when filing your issue(s).

Contributing

See Contributing guidelines for how to setup your fork of the repo and start a PR to contribute to React Native for Windows.

good first issue and help wanted are great starting points for PRs.

Documentation

React Native already has great documentation and we're working to ensure the React Native Windows is part of that documentation story.

React Native for Windows has it's own separate documentation site where Windows and macOS specific information, like API docs and blog updates live.

Examples

  • Using the CLI in the Getting Started guide will set you up with a sample React Native for Windows app that you can begin editing right away.
  • If you're looking for sample code, just browse the RNTester folder in the GitHub web UI

License

The React Native Windows extension, including modifications to the original Meta source code, and all newly contributed code is provided under the MIT License. Portions of the React Native Windows extension derived from React Native are copyright Meta.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.