ASP.NET Core 3 MVC: IHost не запускает браузер, в отличие от IWebHost

ASP.NET Core 3 MVC предлагает использовать IHost вместо IWebHost (HostBuilder заменяет WebHostBuilder и Общие настройки хоста .NET для веб-приложений).

Вот часть launch.json

        "launchBrowser": {
            "enabled": true,
            "args": "${auto-detect-url}",
            "windows": {
                "command": "cmd.exe",
                "args": "/C start ${auto-detect-url}"
            },
            "osx": {
                "command": "open"
            },
            "linux": {
                "command": "xdg-open"
            }
        },

Однако это не запускает браузер для локальной отладки.

  • ОС: линукс
  • Редактор: VSCode

person McKabue    schedule 05.11.2019    source источник
comment
Я не очень хорошо знаком с .net core 3.0, но этот вопрос о стеке, похоже, делает примерно то же самое, что вы делаете с помощью launch.json stackoverflow.com/questions/ 38576854/   -  person SomeStudent    schedule 05.11.2019
comment
Я посмотрел на это ... ответ касается использования WebHostBuilder, я использую HostBuilder, и я не хочу жестко кодировать материал для запуска URL-адреса.   -  person McKabue    schedule 05.11.2019


Ответы (1)


Для автоматического запуска браузера вы можете попробовать выполнить следующие действия:

  1. Обновите VS Code до версии 1.39.2
  2. Добавить раздел ниже в launch.json

        "serverReadyAction": {
            "action": "openExternally",
            "pattern": "^\\s*Now listening on:\\s+(https?://\\S+)"
        },
    

Вот демонстрационное полное содержание:

{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
"version": "0.2.0",
"configurations": [
        {
            "name": ".NET Core Launch (web)",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build",
            // If you have changed target frameworks, make sure to update the program path.
            "program": "${workspaceFolder}/bin/Debug/netcoreapp3.0/CoreJWT3_0.dll",
            "args": [],
            "cwd": "${workspaceFolder}",
            "stopAtEntry": false,
            "internalConsoleOptions": "openOnSessionStart",
            "serverReadyAction": {
                "action": "openExternally",
                "pattern": "^\\s*Now listening on:\\s+(https?://\\S+)"
            },
            "launchBrowser": {
                "enabled": true,
                "args": "${auto-detect-url}",
                "windows": {
                    "command": "cmd.exe",
                    "args": "/C start ${auto-detect-url}"
                },
                "osx": {
                    "command": "open"
                },
                "linux": {
                    "command": "xdg-open"
                }
            },
            "env": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            },
            "sourceFileMap": {
                "/Views": "${workspaceFolder}/Views"
            }
        },
        {
            "name": ".NET Core Attach",
            "type": "coreclr",
            "request": "attach",
            "processId": "${command:pickProcess}"
        }
    ,]
}
person Edward    schedule 06.11.2019