簡體   English   中英

從 Visual Studio 2019 在 Kestrel 下運行 .NET 5 Api 會忽略 launchSettings.json applicationUrl 設置

[英]Running .NET 5 Api under Kestrel from Visual Studio 2019 ignores launchSettings.json applicationUrl setting

我們有一個“只在我的機器上”的問題,沒人能弄清楚。

我們有一個 .NET 5 Api,我們在 Kestrel 下運行用於開發目的。 在 Visual Studio 中運行 API 的所有其他開發虛擬機上,都會獲取launchSettings.json中的值並在正確的端口上啟動。 但是,在有問題的 VM 上,它僅在默認的 5000/5001 端口上啟動。

這是launchSettings.json文件的條目。

"profiles": {
    "My.Api": {
        "commandName": "Project",
        "environmentVariables": {
            "LogStorageAccountConnectionString": "UseDevelopmentStorage=true",
            "ASPNETCORE_ENVIRONMENT": "Development"
        },
        "applicationUrl": "https://localhost:7001;http://localhost:7000"
    }
}

我知道有一種方法可以告訴do.net run顯式忽略launchSettings.json但無法在 Visual Studio 中找到會觸發該行為的設置。

我們還認為這可能是該文件夾的權限問題,因為它們有點奇怪,所以我們將我們的 repo 克隆到一個新文件夾中並再次設置 Api 以在本地運行。 它仍然在 5000/5001 上運行。

我們很多人都被難住了。 有任何想法嗎?

在使用 Visual Studio 在 Kestrel 下運行.NET 5 API (以及Blazor項目)時,我也遇到了完全相同的問題。 然而對我來說,它突然來了——我成功地運行了這個項目幾個星期,然后有一天它開始拒絕遵守launchSettings.json並繼續在默認值5000/5001上運行。

我通過將 Visual Studio 從 16.8.3 升級到 16.8.4 解決了這個問題。 但是,由於我最初對 16.8.3 沒有問題,我懷疑問題與 Visual Studio 版本無關。 我認為我的原始安裝以某種方式損壞,升級只是修復了損壞。

順便說一句,當我使用 dotnet run 從命令行運行項目時,我的launchSetting.json很榮幸。 我還可以通過在Program.cs中設置端口來使用解決方法

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
                webBuilder.UseUrls("https://localhost:6000");
            });

我們在 Visual Studio 2022 中也遇到了 .NET 5 和 .NET 6 的問題,唯一有效的方法是在launchSettings.jsonenvironmentVariables變量部分設置(顯然未記錄的)變量Urls 換句話說:

"profiles": {
    "My.Api": {
        "commandName": "Project",
        "environmentVariables": {
            "LogStorageAccountConnectionString": "UseDevelopmentStorage=true",
            "ASPNETCORE_ENVIRONMENT": "Development",
            "Urls": "https://localhost:7001;http://localhost:7000"
        }
    }
}

遺憾的是,VS 的“啟動配置文件”對話框不會選取此值,也不允許您設置它,但手動編輯launchSettings.json並不會太麻煩。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM