gpt4 book ai didi

无需在 IIS 上发布即可调试 ASP.NET Core 应用程序

转载 作者:行者123 更新时间:2023-12-03 17:18:22 24 4
gpt4 key购买 nike

我曾经使用 asp.net mvc4 并且在 IIS 中我的网站的物理路径将指向我的解决方案目录,每次我更新我的代码时,我只是重新构建我的解决方案,然后我可以使用“附加处理”(w3wp)来开始调试。

在asp.net core中,当我将我的网站发布到文件系统时,我可以使用没有托管代码的IIS运行我的网站。但是当我将我的 IIS 网站指向我的网站解决方案代码时,它显示 502 错误。

最佳答案

您不需要像我们以前描述的那样在 IIS 中运行 .Net Core 来轻松调试等。

使用 .Net Core,您只需在项目根目录中打开命令行并键入“dotnet run”

DotNet Run 使用环境变量来驱动它的工作。因此,如果您希望站点在特定 URL 或端口上运行,请键入:

SET ASPNETCORE_URLS=http://example.com

或者,如果您只是希望它在不同的端口上运行
SET ASPNETCORE_URLS=http://localhost:8080

然后设置环境
SET ASPNETCORE_ENVIRONMENT=Development

设置好所有环境变量后,键入
dotnet run

现在要调试它,您将附加到 cmd.exe 并在其标题中运行 dotnet。您将能够以这种方式调试代码。

现在,如果您使用的是 Visual Studio,在您的项目的 Properties 下有一个名为“launchSettings.JSON”的文件。您可以在此处配置配置文件,我将默认配置文件设置为 Kestrel 开发,然后是 Kestrel 生产,IIS 排在最后,这样我就不会在 IIS Express 中运行 F5。

我的 LaunchSettings.json 如下所示:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:56545/",
"sslPort": 0
}
},
"profiles": {
"Kestrel Development": {
"executablePath": "dotnet run",
"commandName": "Project",
"commandLineArgs": "dotnet run",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"ASPNETCORE_URLS": "http://localhost:8080"
}
},
"Kestrel Production": {
"commandLineArgs": "dotnet run",
"commandName": "Project",
"environmentVariables": {
"ASPNETCORE_URLS": "http://localhost:8080",
"ASPNETCORE_ENVIRONMENT": "Production"
},
"executablePath": "dotnet"
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

第一个配置文件是按下它时 F5 使用的内容。因此,当我按 F5 时,Visual Studio 会为我启动 dotnet run 并设置环境和 URLS,这些环境和 URLS 由我在 launchSettings.JSON 中的配置文件的 environmentVariables 部分指定。

现在因为我有多个配置文件,所以我在运行按钮旁边有一个下拉菜单,所以如果我想在本地以生产模式运行,我可以选择 Kestrel 生产。

enter image description here

关于无需在 IIS 上发布即可调试 ASP.NET Core 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38910063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com