This extension allows acquisition of the .NET Core runtime specifically for Visual Studio Code extension authors. This tool is intended to be leveraged in extensions that are written in .NET and require .NET to boot pieces of the extension (e.g. a language server). The extension is not intended to be used directly by users to install .NET for development.
Goals: Acquiring .NET Core for extensions
Extension authors do not know if the .NET core runtime is installed on the target machine. Existing solutions have a number of challenges:
- Duplication of .NET Core runtimes and slow updates: Currently, each extension is acquiring its own copy of .NET core at ~30mb each.
- Clean up: When extensions install .NET Core in a non-VSCode folder location it is likely to be left behind.
- Servicing and floating versions: It is difficult to ensure that extensions will use the latest releases, particuarly without re-shipping.
- Corrupted installations: Corrupted installations can arise when VS Code is shut down mid-download or unzip.
- Network security policies: Alternative installation methods may result in errors due to blocking from network security policies.
- Locked down environments: Some developers are unable to freely install software, requiring the ability to install extensions manually via a VSIX.
- Missing dependencies: Users may run into situations where .NET Core cannot run as-is, requiring the installation of missing pieces.
This extension attempts to solve the above issues.
Contributing to Repository
Looking for something to work on? The list
of up-for-grabs issues is a great place to start.
Please read the following documents to get started.
This project has adopted the code of conduct defined by the Contributor Covenant
to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.
Running the sample
- Run the build script at the root of the repo (
- Open the repo's workspace in VSCode
- Run the
Run Sample Extension configuration in VSCode
- In the launched experimental instance open the command pallete and run the
Sample: Run a dynamically acquired .NET Core Hello World App.
.NET Core for VSCode is a .NET Foundation project.
See the .NET home repo to find other .NET-related projects.
.NET Core (including this repo) is licensed under the MIT license.