练习 - 为依赖于框架的部署进行发布
依赖框架的部署是 ASP.NET Core 应用的默认部署。 发布依赖于框架的应用时,部署包中仅包含应用的文件和依赖项。 不包括 .NET 运行时。 目标计算机必须安装正确的 .NET 运行时版本才能运行应用。
团队主管要求你准备团队的应用进行部署。 由于将要运行应用的服务器已经安装了 .NET 运行时,因此可以将该应用发布为依赖于框架的部署。 这会减小部署包的大小,并更轻松地部署应用。
在本练习中,我们将 ASP.NET Core 应用作为依赖于框架的部署进行发布。
创建 ASP.NET Core 应用
需要一个 ASP.NET Core 应用来扮演团队应用的角色。 让我们在 Visual Studio Code 中使用 C# 开发工具包扩展创建新的 ASP.NET Core 应用。
启动 Visual Studio Code。
按 Ctrl+Shift+P 打开命令面板。
搜索并选择 .NET 新建项目。
搜索并选择“ASP.NET Core 空”。
选择或创建新项目的文件夹。
将新应用命名为“MyWebApp”。
选择“创建项目”以创建项目。
运行应用
测试应用以确保它运行。
在 Visual Studio Code 中,按 F5 生成并运行应用。
- 出现提示时,选择“C#”作为调试程序。
- 出现提示时,选择“C#: MyWebApp [默认配置]”作为要使用的启动配置。
此命令启动应用并将其托管在本地 Web 服务器上。 此时会打开一个浏览器窗口,并显示“Hello, World!”。
关闭浏览器窗口,并通过在 Visual Studio Code 中按 shift+F5 来停止应用。
将应用作为依赖于框架的部署进行发布
你已验证应用正常运行,接下来就可以将其作为依赖于框架的部署发布了。
在 Visual Studio Code 中,按 Ctrl+' 打开终端窗口。
导航到 MyWebApp 目录。
cd MyWebApp
运行以下命令以发布应用:
dotnet publish -c Release -o publish-fd
在上述命令中:
-c Release
指定应用应在发布模式下生成。 这会优化应用的性能。-o
指定输出目录的名称。 在这种情况下,输出目录将命名为 publish-fd。
此命令将应用作为依赖框架的部署发布到 publish-fd 目录。
在 Visual Studio Code 资源管理器窗口中,展开 MyWebApp/publish-fd 目录的内容并查看文件列表。 该目录包括应用的文件和依赖项,但不包括 .NET 运行时或源代码文件。 包括的一些文件和目录包括:
- MyWebApp.dll“**:已编译的应用。
- 其他 MyWebApp 文件:运行应用所需的其他文件。
- appsettings.json:应用的配置文件。
- web.config:Windows 上的 IIS(Internet Information Services)配置文件。
- wwwroot:存在时,此目录包含已发布的静态 Web 资产,例如 HTML、CSS 和 JavaScript 文件。 如果项目不包含任何静态 Web 资产,则不会生成此目录,因此在这种情况下不存在此目录。
导航到 publish-fd 目录并运行应用。
cd publish-fd dotnet MyWebApp.dll
此命令启动已发布的应用,并将其托管在 Kestrel 中。 连接到应用程序的 Web 浏览器会看到相同的默认 ASP.NET Core 欢迎页。
在终端窗口中按 Ctrl+C 关闭 Web 浏览器并停止应用。