能否通过U盘复制文件,像部署Winforms一样部署ASP.NET Core MVC到多台Win10电脑?
ASP.NET Core MVC 可采用文件复制方式部署(类似WinForms)
完全可以像WinForms那样通过复制文件来部署ASP.NET Core MVC程序,这种方式官方叫文件复制部署(Xcopy部署),非常适合你这种需要批量部署到多台电脑的场景,具体操作步骤如下:
一、先在开发环境发布程序
- 打开Visual Studio,右键你的ASP.NET Core MVC项目,选择「发布」
- 发布目标选择「文件夹」,指定一个本地路径作为发布输出目录
- 选择发布模式:
- 框架依赖:只发布程序文件,目标电脑需要提前安装对应版本的.NET Core Runtime,优点是发布包体积小
- 自包含:会把.NET Core运行时一起打包进发布包,目标电脑无需提前装运行时,适合环境不统一的多台电脑,缺点是包体积较大
- 点击「发布」,等待完成后,输出目录里就是所有需要部署的文件
二、部署到目标电脑
- 把发布目录里的所有文件和文件夹复制到目标电脑的任意位置(比如
D:\CompanyDocApp) - 启动程序:
- 如果是自包含发布,直接双击文件夹里的
.exe文件(比如YourProjectName.exe) - 如果是框架依赖发布,打开命令行,进入程序目录,执行命令:
dotnet YourProjectName.dll
- 如果是自包含发布,直接双击文件夹里的
- 启动后,控制台会显示程序的访问地址(比如
http://localhost:5000或https://localhost:5001),用户在浏览器输入这个地址就能查看文档了
三、实用优化建议
- 简化访问地址:如果想让用户直接输入
localhost就能访问,可修改发布包中的appsettings.json,添加或修改Urls配置:"Urls": "http://localhost:80" - 开机自动启动:把程序的快捷方式放到目标电脑的「启动」文件夹(路径:
C:\Users\[用户名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup),这样电脑开机后程序会自动运行 - 防火墙问题:如果启动后浏览器无法访问,检查Windows防火墙是否允许该程序通过,可临时关闭防火墙测试,或者在防火墙里添加允许规则
内容的提问来源于stack exchange,提问作者望熙貴
相关产品推荐
相关产品推荐

