Вы разработчик .NET Core, которому нравится работать в Windows и Visual Studio, но вам нужно протестировать свое приложение в Linux? Вы кросс-платформенный разработчик, которому нужен простой способ тестирования большего количества целевых сред? Вы уже открыли для себя преимущества WSL 2, но вам нужен способ интегрировать его во внутренний цикл? У меня есть для вас расширение! Расширение .NET Core Debugging с WSL 2 — Preview дает вам возможность запускать и отлаживать приложения .NET Core в WSL 2, не выходя из Visual Studio.



Когда нужно отлаживать в WSL 2?


Для пользователя Windows .NET, ориентированного на Linux, WSL 2 находится в правильном месте между production realism и производительностью. В Visual Studio вы уже можете отлаживать в удаленной среде Linux с помощью удаленного отладчика (Remote Debugger) или с контейнерами с помощью инструментов для работы с контейнерами (Container Tools). Когда ваша главная забота — production realism, вам следует использовать один из них. Когда более важен простой и быстрый внутренний цикл, WSL 2 — отличный вариант.

Необязательно выбирать только одно! У вас может быть профиль запуска для Docker и WSL 2 в одном проекте и выбрать тот, который подходит для конкретного запуска. И как только ваше приложение развернуто, вы всегда можете использовать удаленный отладчик, чтобы подключиться к нему в случае возникновения проблемы.

Начало работы с .NET Core Debugging with WSL 2 – Preview


Перед использованием расширения обязательно установите WSL 2 и выбранный вами дистрибутив. После установки расширения при открытии веб-приложения ASP.NET Core или консольного приложения .NET Core в Visual Studio вы увидите новый профиль запуска с именем WSL 2:



Выбор этого профиля добавит его в файл launchSettings.json и будет выглядеть примерно так:

"WSL 2": {
    "commandName": "WSL2",
    "launchBrowser": true,
    "launchUrl": "https://localhost:5001",
    "environmentVariables": {
        "ASPNETCORE_URLS": "https://localhost:5001;http://localhost:5000",
        "ASPNETCORE_ENVIRONMENT": "Development"
    },
    "distributionName": ""
}

После выбора нового профиля расширение проверяет, настроен ли ваш дистрибутив WSL 2 для запуска приложений .NET Core, и помогает вам установить любые недостающие зависимости. После того, как все зависимости установлены, вы готовы к отладке в WSL 2. Просто запустите отладку как обычно, и теперь ваше приложение будет работать в дистрибутиве WSL 2 по умолчанию. Простой способ убедиться, что вы работаете в Linux, — это проверить значение Environment.OSVersion.

Примечание. Только Ubuntu и Debian были протестированы и поддерживаются. Другие дистрибутивы, поддерживаемые .NET Core, должны работать, но требуют ручной установки .NET Core Runtime и Curl.

Использование определенного дистрибутива


По умолчанию профиль запуска WSL 2 будет использовать распределение по умолчанию, установленное в wsl.exe. Если вы хотите, чтобы ваш профиль запуска был нацелен на конкретный дистрибутив, независимо от этого по умолчанию, вы можете изменить свой профиль запуска. Например, если вы отлаживаете веб-приложение и хотите протестировать его на Ubuntu 20.04, ваш профиль запуска будет выглядеть так:

"WSL 2": {
    "commandName": "WSL2",
    "launchBrowser": true,
    "launchUrl": "https://localhost:5001",
    "environmentVariables": {
        "ASPNETCORE_URLS": "https://localhost:5001;http://localhost:5000",
        "ASPNETCORE_ENVIRONMENT": "Development"
    },
    "distributionName": "Ubuntu-20.04"
}

Ориентация на несколько дистрибутивов


Идя еще дальше, если вы работаете над приложением, которое нужно запускать в нескольких дистрибутивах, и вам нужен быстрый способ протестировать каждый из них, у вас может быть несколько профилей запуска. Например, если вам нужно протестировать консольное приложение в Debian, Ubuntu 18.04 и Ubuntu 20.04, вы можете использовать следующие профили запуска:

"WSL 2 : Debian": {
    "commandName": "WSL2",
    "distributionName": "Debian"
},
"WSL 2 : Ubuntu 18.04": {
    "commandName": "WSL2",
    "distributionName": "Ubuntu-18.04"
},
"WSL 2 : Ubuntu 20.04": {
    "commandName": "WSL2",
    "distributionName": "Ubuntu-20.04"
}

С помощью этих профилей запуска вы можете легко переключаться между целевыми дистрибутивами, не покидая комфортной среды Visual Studio:



Попробуйте сегодня!


Итак, если вам нравится работать в Visual Studio, но вам нужно протестировать свое приложение в Linux, перейдите в Visual Studio Marketplace, чтобы установить расширение сегодня. Пожалуйста, используйте маркетплейс, чтобы задать любые вопросы и оставить свой отзыв, а также чтобы сообщить нам, насколько полезно это расширение.

Комментарии (2)