dotnet 命令行发布与启动

本文档介绍了如何通过命令行简洁高效地完成.NET Core应用的部署和测试流程,包括从获取源码、添加自定义NuGet源、还原库文件、编译、发布到指定目录,再到启动应用的详细步骤,适用于快速验证代码功能。

我们常常只需要测试目标代码是否可用,而不需要打开繁重的IDE,虽然是最好用的IDE.

1.获取源码

git clone https://git.xxx.com/test.git

2.进入代码目录

cd test\src

3.添加自定义nuget,如果不使用,则不需要;已经存在可略过

dotnet nuget add source http://nuget.mynuget.cn/nuget --name=mynuget
4.还原库文件
dotnet restore .  #有点号

5.生成测试,没问题后,可发布

dotnet build .   #有点号

6.发布输出到指定到文件夹,Debug模式【可选Release】

dotnet publish --configuration=Debug  --output=D:\publish\mycoreapi  --framework=netcoreapp3.1

7.进入发布后的目录查看是否发布成功

explorer   D:\publish\mycoreapi 

8.启动

cd  /d D:\publish\mycoreapi 
set redis=127.0.0.1,defaultDatabase=0,password=123456
set ASPNETCORE_ENVIRONMENT=Development   #如果有控制,这里需要写入win环境变更 
set RabbitMQ="server=localhost;uid=guest;password=guest;port=5672;qos=1"

#此处使用【start】启动用于给进程标记进程名称,方便调试  
start "mch" dotnet  test.dll  --urls="http://0.0.0.0:15000"
<think> 我们正在查找关于在.NET Core环境下使用命令行启动WebAPI的方法。根据用户的问题,他不需要Docker部署或CentOS部署,而是直接使用命令行启动。 在.NET Core中,当我们构建了一个WebAPI项目后,通常会生成一个dll文件(例如:YourWebApiProject.dll)。我们可以使用dotnet命令行工具来运行这个dll。 步骤: 1. 打开命令行终端(Windows下为CMD或PowerShell,Linux/macOS下为Terminal)。 2. 确保已经安装了.NET Core SDK(可以通过`dotnet --info`命令查看)。 3. 导航到包含WebAPI项目dll文件的目录(通常是发布后的目录,或者是项目bin目录下的Debug或Release目录)。 4. 使用命令:`dotnet <YourWebApiProject.dll>`,其中<YourWebApiProject.dll>是你的WebAPI项目生成的dll文件名。 例如,如果项目名为MyWebApi,则生成的dll可能是MyWebApi.dll,那么命令就是: dotnet MyWebApi.dll 注意:在Linux环境下,如果dotnet命令不在环境变量中,可能需要使用绝对路径(如/usr/bin/dotnet),但通常安装SDK时会自动配置。 另外,还可以通过指定项目文件(.csproj)来运行,但前提是当前目录下只有一个项目文件,或者指定项目文件路径。例如,在项目根目录(包含.csproj文件的目录)下,可以直接运行: dotnet run 但是,用户明确提到了使用命令行启动,并且可能指的是已经构建好的dll,所以使用`dotnet <dll>`是更直接的方法。 根据引用[1]中的Dockerfile示例,它最后一行是:ENTRYPOINT ["dotnet", "ZZZ.WebApi.dll"],这实际上就是在容器内执行的命令行启动方式。 引用[2]中也提到在CentOS部署时,使用dotnet的绝对路径来执行dll。 因此,我们总结: - 在Windows/Linux/macOS上,只要安装了.NET Core SDK,就可以使用`dotnet`命令。 - 命令格式:`dotnet <your_dll_file>` 如果需要指定端口,可以在项目中进行配置(例如修改launchSettings.json或代码中配置),也可以在命令行中通过环境变量指定,例如: dotnet MyWebApi.dll --urls "http://localhost:5000;https://localhost:5001" 或者使用环境变量方式(不同系统设置环境变量的方式不同): 在命令行中设置:set ASPNETCORE_URLS=http://localhost:5000/ (Windows) 或 export ASPNETCORE_URLS=http://localhost:5000/ (Linux/macOS) 然后再运行dotnet命令。 另外,还可以在Program.cs中通过UseUrls方法指定,例如: webBuilder.UseUrls("http://localhost:5000"); 但是用户的问题是命令行启动,所以推荐使用命令行参数或环境变量。 因此,回答如下: </think> 在 .NET Core 环境下使用命令行启动 WebAPI 的方法如下: ### 标准启动流程 1. **构建项目** 在项目根目录(含 `.csproj` 文件)执行: ```bash dotnet build ``` 2. **启动 WebAPI** 直接运行应用程序 DLL: ```bash dotnet <你的WebAPI项目名>.dll ``` 例如: ```bash dotnet MyWebApi.dll ``` ### 关键注意事项 1. **路径问题** - 确保命令行当前目录是 DLL 所在位置(通常在 `/bin/Debug/netX.Y` 或 `/bin/Release/netX.Y`) - 如果报错找不到 DLL,使用绝对路径: ```bash dotnet /absolute/path/to/YourProject.dll ``` 2. **环境变量配置** 可通过命令行设置运行环境: ```bash set ASPNETCORE_ENVIRONMENT=Development && dotnet YourApi.dll # Windows export ASPNETCORE_ENVIRONMENT=Development && dotnet YourApi.dll # Linux/macOS ``` 3. **指定监听端口** 启动时配置监听地址: ```bash dotnet YourApi.dll --urls "http://localhost:5000;https://localhost:5001" ``` 4. **后台运行(Linux)** 使用 `nohup` 保持进程运行: ```bash nohup dotnet YourApi.dll > /var/log/webapi.log 2>&1 & ``` ### 常见问题解决 - **`dotnet` 命令未找到** 检查 .NET SDK 安装路径,使用绝对路径调用: ```bash /usr/bin/dotnet YourApi.dll # 路径可通过 which dotnet 获取 ``` - **端口冲突** 修改启动端口: ```bash dotnet YourApi.dll --urls "http://0.0.0.0:8080" ``` > 参考 Docker 部署示例中的入口点命令格式 [^1] 和 Linux 环境路径配置说明 [^2],命令行启动本质是直接调用 `dotnet <dll>` 指令,无需容器封装。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值