我在 .NET(核心)6 上使用 Visual Studio 2022 和 React 模板。
当我按 f5 开始调试时,它会启动命令提示符来启动开发代理服务器,启动我的默认浏览器 (chrome),一切似乎都工作正常。
但是,大约每隔 2 分钟,无论我是否触摸了 VS 还是应用程序,它都会启动开发服务器的另一个副本,然后提示“Something is already running on port 3000”。它自己的设备只是不断启动更多。
这并不会阻止前一个窗口的工作,但出现所有这些窗口令人沮丧,特别是当它们在提示“端口正在使用”时窃取焦点时。
我怀疑相关的事情是大约每 8 秒在调试输出中出现一条消息,显示“Microsoft.AspNetCore.SpaProxy.SpaProxyMiddleware:信息:SPA 代理尚未准备好。正在返回临时登录页面。”然而,如上所述,SPA 代理似乎运行正常。
有谁知道可能会发生什么或有任何解决方法吗?
最佳答案
好吧,我通过创建另一个空白项目并比较它们来解决这个问题。
开发服务器将监听的端口存储在名为 ClientApp\.env.development
的文件中; Visual Studio 希望监听的端口位于 PropertyGroup/SpaProxyServerUrl
下的 .csproj
文件中。如果存在不匹配,您将得到此行为,因为 VS 认为服务器没有运行并继续尝试启动它。
就我而言,我已将 .env.development
文件添加到版本控制忽略列表中,认为它并不重要。这导致开发服务器监听默认端口 3000。
关于asp.net-core - Visual Studio with React 项目不断启动开发服务器的多个副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74763638/