vs2022编辑的gRPC项目,服务端根目录的exe启动的端口号和项目里设置的不同,但是在vs里启动的端口号就是相同的

问题遇到的现象和发生背景

用vs2022做了个gRPC的小程序,可以实现服务端跟客户端调用,问题是我在配置里设置的端口号和我在服务端根目录的exe启动的端口号不一样,exe的端口号一直是https://localhost:5001,但是我设置的是127.0.0.1:4000,我在vs里启动就是正常的127.0.0.1:4000,为什么exe启动的就是https://localhost:5001呢,求解,卡了好久了

用代码块功能插入代码,请勿粘贴截图
运行结果及报错内容

exe启动的话跟前端就连不上了

在项目的属性页面里面修改这个地方看下:

img

vs里启动就是正常的,是什么意思?

你是这么搞的吗?
1.先在appsettings.json中新增配置值

2.获取配置值:
在StartUp中新增一个带参的构造函数

在exe中启动,和在VS中启动时,程序当前路径是不一样的。题主可以用下边的函数检测一下。
然后用当前路径加载一些配置,包括配置文件,应该就一致了。

//获取和设置当前目录
string path = System.Environment.CurrentDirectory;

每个端口有固定开放功能,并且规定在网络中传输数据时必须使用 ip:port 的方式作为地址。通过 ip 地址找到指定计算机,通过 port 找到计算机中运行的某一个应用程序,这样就可以准确的将数据传输到指定应用程序而不至混淆。同段IP而取得的是不同的地址会有端口不同的情况,可以先确认一下这个泛型里面是不是调取的是正确的么,再看一下是4000的端口是连接不上还是端口占用。

是不是开发环境和生产环境 你只改了开发环境的配置文件,发布exe后生产环境配置还是原来