ASP.NET CORE MVC使用SCD(独立部署)发布
Posted dotNET跨平台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET CORE MVC使用SCD(独立部署)发布相关的知识,希望对你有一定的参考价值。
简介
Self-contained deployments (SCD), 生成一个可自己执行的文件以及所有依赖, 比如一个xxx.exe和一大堆dll, 直接运行即可, 不需要操作系统安装.net core 运行时
步骤
1、首先创建一个ASP.NET CORE MVC项目
2、右击项目,点击编辑xxx.csproj,在下编辑
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<RuntimeIdentifiers>win10-x64;ubuntu.16.04-x64</RuntimeIdentifiers>
</PropertyGroup>
这样在发布时选择平台时会有win10-x64可以选择
3、要让远程电脑能访问,必须更改可访问的IP地址。在Program.cs文件下更改如下代码,在原有代码下添加.UseUrls()即可
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseUrls("http://*:5000")
.UseStartup<Startup>();
4、右键项目,点击发布,选择文件夹
5、选择高级,---独立,-----win10-64
6、点击保存,发布即可。
7、发布之后,在生成目录下会有xxx.exe文件生成,点击运行,即可启动服务。
优点
SCD 有很多优点。尽管有多个使 SCD 工作的部分,但作为 .NET CLI 安装的一部分,有两个使其正常运行的重要组件。第一个组件是共享运行时,它是 .NET Core 运行时的可再发行版本,由 CLI 和最终用户使用。第二个组件是共享主机,它负责使用作为发布过程的一部分生成的 DLL。共享主机是泛型 AppHost,它允许任何 .NET Core 库 (DLL) 作为应用程序执行。在执行“dotnet run my.dll”时,my.dll 被托管在此共享主机的内部。在打包 SCD 应用程序时,执行的操作是将共享运行时、共享主机和应用程序 DLL 置于可执行文件包中、适用于 Windows 的 .exe 中或适用于 Linux 和 macOS 的相应可执行文件中。
以上是关于ASP.NET CORE MVC使用SCD(独立部署)发布的主要内容,如果未能解决你的问题,请参考以下文章
[MVC&Core]ASP.NET Core MVC 视图传值入门
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 25. 过滤器
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 14. ASP.NET Core Identity 入门
ASP.NET Core Web 应用程序系列- 在ASP.NET Core中使用Autofac替换自带DI进行批量依赖注入(MVC当中应用)