VSCode extension for acquiring .NET Core Tooling
Перейти к файлу
Sarah Oslund 8f61889a34 Differentiating between script error and offline error in acquisition 2020-03-13 16:04:09 -07:00
.devcontainer Add ability to open repo in a remote container. 2019-05-08 22:31:44 -07:00
.vscode Adding opt out for telemetry, removing PII from telemetry events 2020-01-03 10:06:29 -08:00
Documentation Adding reportIssue command, updating for PR feedback 2020-02-11 14:17:19 -08:00
images Updating branding, adding dev spec 2020-02-06 16:34:05 -08:00
sample Updating publishing account 2020-02-11 14:57:28 -08:00
vscode-dotnet-runtime-extension Differentiating between script error and offline error in acquisition 2020-03-13 16:04:09 -07:00
vscode-dotnet-runtime-library Differentiating between script error and offline error in acquisition 2020-03-13 16:04:09 -07:00
.gitattributes More renames/organizations 2019-05-07 15:43:09 -07:00
.gitignore Updating gitignore, adding back package-locks 2020-02-28 15:16:36 -08:00
.vscodeignore Adding extension bundling with root package.json for marketplace display 2020-01-28 09:30:48 -08:00
CHANGELOG.md Updating documentation 2020-01-27 09:02:21 -08:00
CODE_OWNERS.txt Update README.md and add additional documentation. 2019-08-21 14:28:49 -07:00
CONTRIBUTING.md Update README.md and add additional documentation. 2019-08-21 14:28:49 -07:00
LICENSE.txt Add Microsoft to copyright in LICENSE.txt 2019-08-22 15:58:28 -07:00
README.md Merge remote-tracking branch 'upstream/master' into ErrorReporting 2020-02-10 15:31:19 -08:00
THIRD-PARTY-NOTICES.txt Update README.md and add additional documentation. 2019-08-21 14:28:49 -07:00
azure-pipelines.yml Adding log files to pipeline output 2020-03-09 16:26:09 -07:00
build.cmd Lay build groundwork out. 2019-05-07 19:54:37 -07:00
build.ps1 Renaming folders to match new extension name 2020-01-24 14:12:14 -08:00
build.sh Renaming folders to match new extension name 2020-01-24 14:12:14 -08:00
package-lock.json Differentiating between script error and offline error in acquisition 2020-03-13 16:04:09 -07:00
package.json Updating publishing account 2020-02-11 14:57:28 -08:00
test.cmd Adding testing scripts 2019-11-05 09:48:28 -08:00
test.ps1 Renaming folders to match new extension name 2020-01-24 14:12:14 -08:00
test.sh Renaming folders to match new extension name 2020-01-24 14:12:14 -08:00
tslint.json Updating array style for tslint failure 2020-01-21 16:30:49 -08:00
vscode-dotnet-runtime.code-workspace Renaming folders to match new extension name 2020-01-24 14:12:14 -08:00
webpack.config.js Updating webpack to retain dirname value 2020-02-27 13:59:03 -08:00

README.md

.NET Install Tool for Extension Authors (Preview)

This extension allows acquisition of the .NET Core runtime specifically for VSCode 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.

This is a very early release of this tool. If you want to test it, reach out on GitHub to discuss being in our early beta.

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:

  1. Duplication of .NET Core runtimes and slow updates: Currently, each extension is acquiring its own copy of .NET core at ~30mb each.
  2. Clean up: When extensions install .NET Core in a non-VSCode folder location it is likely to be left behind.
  3. Servicing and floating versions: It is difficult to ensure that extensions will use the latest releases, particuarly without re-shipping.
  4. Corrupted installations: Corrupted installations can arise when VS Code is shut down mid-download or unzip.
  5. Network security policies: Alternative installation methods may result in errors due to blocking from network security policies.
  6. Locked down environments: Some developers are unable to freely install software, requiring the ability to install extensions manually via a VSIX.
  7. 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.

Building

Requirements

  • Node.js + npm
  • VSCode

Running the sample

  1. Run the build script at the root of the repo (build.sh or build.cmd).
  2. Open the repo's workspace in VSCode
  3. Run the Run Sample Extension configuration in VSCode
  4. In the launched experimental instance open the command pallete and run the Sample: Run a dynamically acquired .NET Core Hello World App.

.NET Foundation

.NET Core for VSCode is a .NET Foundation project.

See the .NET home repo to find other .NET-related projects.

License

.NET Core (including this repo) is licensed under the MIT license.