gpt4 book ai didi

asp.net-core - 如何像 Visual Studio 使用 SSL 一样在 VS Code 中本地运行 .Net Core 2.0 应用程序

转载 作者:行者123 更新时间:2023-12-02 01:06:40 43 4
gpt4 key购买 nike

因此,我们有一个已迁移到 .net 核心的 Web 应用程序,虽然它在 Visual Studio 2017 中运行良好,因为 Visual Studio 使用其“launchSettings.json”文件来配置 IIS Express 的工作/启动方式 -我,对于我的生活,无法弄清楚如何让 VS Code 运行项目。问题是,我们只使用 HTTPS,并且总是让 IIS Express 使用自签名的 locahost 证书来允许这样做,所以在本地调试站点时,我们总是使用 https://localhost:44300 .如前所述,在 Visual Studio 的 launchSerttings.json 文件中输入此 url 时效果很好,但 VS Code 不使用它,我能找到的唯一答案总是指必须使用 Kestrel 服务器的 .Listen()方法并使用自签名证书和密码来允许使用 HTTPS 端口。 1) 这似乎很愚蠢,我必须添加这个“测试”代码才能在本地运行它,因为当我们部署到 Azure 时我不需要它,因为 Azure 为我们管理证书和 url。 2) Visual Studio 2017 不需要任何关于 Kestrel 的规范来实现这一切。因此,我很难相信在 Visual Studio Code 中没有一些扩展或过程可以实现与 Visual Studio 在幕后所做的相同的事情,以允许 IIS Express 与 .Net Core Kestrel 服务器通信。

梳理所有文档表明 ASPNetCoreModule 是为 IIS 和 Kestrel 处理这种通信的,所以,我希望/猜测必须有某种方法来配置 web.config 文件的标记以包含一些东西,这将使这项工作。

我以前在 VS Code 中使用过并尝试过其他 IIS 执行扩展,但那些专注于项目 web.config 中的元素以启动 IIS,由于它是 .Net Core,它们不再存在于 web.config 中应用程序。当 Web 应用程序是 .NET Framework 4.5.2 应用程序时,在迁移到 .Net Core 之前,我已经使用 IIS Express Executor 扩展成功运行了 Web 应用程序

所以,最终目标是我需要能够转到 https://localhost:44300在浏览器中,让我们的网站正常工作,但我不想在 Program.cs 或 Startup.cs 文件的 Kestrel 配置中添加任何类型的测试证书。如果没有办法做到这一点,那么考虑到 Visual Studio 使这看起来应该非常简单,那将是非常令人失望的。

感谢您的帮助。

最佳答案

能够使用以下步骤使其正常工作。

1) 在 VS Code 或任何其他围绕 dotnet 命令的类似扩展中安装 IIS Express 执行器

2) 从 https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer 下载 Process Explorer

3) 正常启动 Visual Studio IIS Express

4) 打开 Process Explorer(可能需要以管理员身份启动)并找到 iisexpress.exe -> VSIISExeLauncher.exe

5) 右键单击​​ VSIISExeLauncher.exe 并单击属性,然后找到“环境”选项卡。在环境选项卡中,您将看到 2 个变量:LAUNCHER_PATH 和 LAUNCHER_ARGS。复制这两个变量和值。

6) 接下来找到您在 VS 代码中安装的扩展的配置文件(我的是项目根目录中 .vscode 文件夹中的 launch.json)。它可能有一个“环境”或“env”部分,用于将环境变量添加到启动参数中。添加从第 5 步复制的两个参数。这些参数因人而异,因此参数的值对于您的机器将是唯一的。

7) 从 vs code 启动 IIS-Express。我对此的特定命令是“IIS-EE:启动 IIS Express 服务器”,但会根据您安装的扩展而有所不同。您可以按 F1 启动命令。

关于asp.net-core - 如何像 Visual Studio 使用 SSL 一样在 VS Code 中本地运行 .Net Core 2.0 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47233521/

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