Как программно проверить версию. NET Core Runtime, установленную на моем компьютере, из приложения. NET Framework? - PullRequest
2 голосов
/ 13 июля 2020

Пишу заявку в C#. Приложение является консольным, предназначенным для приложений. NET 4.7. Из этого приложения я хочу программно проверить, установлена ​​ли среда выполнения. NET Core 3.1.300. Если нет, то я хочу его установить. Как это сделать ? Пока я не нашел API для проверки установленной. net основной среды выполнения.

Ответы [ 2 ]

2 голосов
/ 13 июля 2020

Чтобы избавить вас от неприятностей, вам нужно запросить эти места в реестре:

Для версий x64

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\dotnet\Setup\InstalledVersions\x64\sharedfx\Microsoft.NETCore.App

Для версий x86

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\dotnet\Setup\InstalledVersions\x86\sharedfx\Microsoft.NETCore.App

Это может измениться в будущем, но, судя по тому, что я видел и с моей машины, все версии регистрируются в этих местах.

Относительно Linux

из ссылки на документы, которую предложил Оливье Роже, вы можете проверить эти папки:

do tnet исполняемый файл / home / user / share / dotnet / do tnet

. NET SDK / home / user / share / dotnet / sdk / {version} /

. NET Runtime / home / user / share / dotnet / shared / {runtime-type} / {version} /

0 голосов
/ 13 июля 2020

Да. С .Net Core 3 можно использовать:

var netCoreVer = System.Environment.Version; 
var runtimeVer = System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription; 
...