Как изменить порт в команде dotnet run: подробное руководство

Вы работаете с.NET Core и вам необходимо изменить порт при запуске приложения с помощью команды dotnet run? Не смотрите дальше! В этой статье блога мы рассмотрим несколько методов, которые помогут вам легко выполнить эту задачу.

Прежде чем мы углубимся в различные подходы, важно понимать, что когда вы выполняете команду dotnet run, ваше приложение запускает порт по умолчанию (обычно 5000 или 5001 для HTTPS). Однако в некоторых случаях вам может потребоваться изменить этот порт в соответствии с конкретными требованиями или во избежание конфликтов с другими приложениями, работающими на том же компьютере.

Без дальнейших церемоний, давайте рассмотрим некоторые способы изменения порта с помощью команды dotnet run:

Метод 1. Использование аргументов командной строки

Самый простой способ изменить порт — указать аргумент командной строки при запуске приложения. Вы можете передать нужный номер порта в качестве аргумента после опции --urls. Например:

dotnet run --urls "http://localhost:8080"

Эта команда запустит ваше приложение на порту 8080 вместо порта по умолчанию.

Метод 2. Изменение файла launchSettings.json

Если вы работаете с приложением ASP.NET Core, вы можете изменить файл launchSettings.json, чтобы изменить порт. Этот файл обычно находится в папке Propertiesвашего проекта. Откройте файл и найдите свойство applicationUrl. Обновите номер порта до желаемого значения. Например:

{
  "profiles": {
    "MyApp": {
      "commandName": "Project",
      "applicationUrl": "http://localhost:8080"
    }
  }
}

Сохраните изменения, и при запуске команды dotnet runваше приложение будет использовать новый порт, указанный в файле launchSettings.json.

Метод 3: программная настройка порта

Другой вариант — изменить код приложения, чтобы программно установить порт. Этот подход дает вам большую гибкость, поскольку вы можете динамически назначать порт в зависимости от различных условий. Вот пример использования C#:

public static void Main(string[] args)
{
    var port = 8080; // Specify your desired port here
    var host = new WebHostBuilder()
        .UseKestrel()
        .UseUrls($"http://localhost:{port}")
        .UseStartup<Startup>()
        .Build();
    host.Run();
}

Установив для переменной portжелаемое значение, вы можете менять порт при каждом запуске без изменения каких-либо файлов конфигурации.

Метод 4. Использование переменных среды

Наконец, вы можете использовать переменные среды для изменения порта. Этот метод позволяет легко настраивать параметры в различных средах. В своем коде вы можете получить номер порта из переменной среды и использовать его для настройки приложения. Вот пример:

public static void Main(string[] args)
{
    var port = Environment.GetEnvironmentVariable("MY_APP_PORT") ?? "8080";
    var host = new WebHostBuilder()
        .UseKestrel()
        .UseUrls($"http://localhost:{port}")
        .UseStartup<Startup>()
        .Build();
    host.Run();
}

В этом примере проверяется переменная среды MY_APP_PORT, и если она не установлена, используется порт по умолчанию 8080.

В заключение, изменение порта с помощью команды dotnet run— это простой процесс. Вы можете использовать аргументы командной строки, изменить файл launchSettings.json, программно установить порт в своем коде или использовать переменные среды. Выберите метод, который лучше всего соответствует вашим требованиям, и наслаждайтесь гибкостью запуска приложения.NET Core на специальном порту!