概述
本文详细介绍了如何配置 .NET 开发环境、创建项目、以及如何成功发布自包含和不包含环境的可执行文件。适合初学者和开发者参考。
1. 环境配置
1.1 安装 .NET SDK
首先,确保您的系统上安装了 .NET SDK。可以通过以下命令检查是否已安装:
dotnet --version
如果未安装,请访问 .NET 官方网站 下载并安装最新版本的 SDK。
1.1.1 Windows 系统安装
- 访问 .NET 官方网站。
- 下载适用于 Windows 的 .NET SDK 安装程序。
- 运行安装程序并按照提示完成安装。
1.1.2 Linux 系统安装
对于基于 Debian 的系统(如 Ubuntu),可以使用以下命令安装:
wget <https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb> -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y dotnet-sdk-6.0
sudo apt-get install -y dotnet-sdk-8.0
对于其他 Linux 发行版,请参考 .NET 官方文档。
1.2 安装其他依赖
根据项目需求,您可能需要安装其他依赖项。例如,如果项目需要使用 SQLite 数据库,可以使用以下命令安装 SQLite:
sudo apt-get install sqlite3 libsqlite3-dev
1.3 创建新项目
使用以下命令创建一个新的 .NET 项目:
dotnet new webapi -n ExampleProject
cd ExampleProject
这将创建一个名为 ExampleProject
的 Web API 项目,并进入项目目录。
2. 项目配置
2.1 修改项目文件
在 ExampleProject.csproj
文件中,确保包含以下配置:
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
</PropertyGroup>
TargetFramework
:指定目标框架版本。Nullable
:启用可空引用类型。ImplicitUsings
:启用隐式 using 指令。GenerateDocumentationFile
:生成 XML 文档文件。IncludeAllContentForSelfExtract
:在自包含发布中包含所有内容。
2.2 添加依赖项
在项目中添加所需的 NuGet 包。例如,添加 Flurl.Http
和 FreeSql.Provider.SqliteCore
包:
dotnet add package Flurl.Http
dotnet add package FreeSql.Provider.SqliteCore
这些包将帮助您处理 HTTP 请求和 SQLite 数据库操作。
3. 配置 appsettings.json
确保在项目根目录下创建或修改 appsettings.json
文件,包含数据库连接字符串等配置:
{
"ConnectionStrings": {
"DB": "Data Source=ExampleProject.db;Pooling=true;Min Pool Size=1"
},
"ApiToken": "your_api_token"
}
ConnectionStrings
:配置数据库连接字符串。ApiToken
:配置 API 令牌。
4. 生成可执行文件
4.1 发布项目(不包含环境)
使用以下命令生成不包含 .NET 运行时的可执行文件:
dotnet publish -c Release -r linux-x64
这将生成一个包含 DLL 文件和其他依赖项的输出,您需要在目标机器上安装 .NET 运行时才能运行。
4.1.1 输出目录
发布成功后,您将在 bin/Release/net8.0/linux-x64/publish/
目录下找到相应的可执行文件和依赖项。
4.2 发布项目(包含环境)
使用以下命令生成自包含的可执行文件:
dotnet publish -c Release -r linux-x64 --self-contained -p:PublishSingleFile=true
这将生成一个单独的可执行文件,包含所有必要的运行时和依赖项。
4.2.1 输出目录
发布成功后,您将在 bin/Release/net8.0/linux-x64/publish/
目录下找到自包含的可执行文件。
4.3 检查输出
发布成功后,您可以在输出目录中检查生成的文件。对于不包含环境的发布,您将看到多个 DLL 文件和一个可执行文件。对于自包含发布,您将看到一个单独的可执行文件。
5. 运行应用程序
5.1 运行不包含环境的可执行文件
在终端中,导航到发布目录并运行可执行文件:
cd bin/Release/net8.0/linux-x64/publish/
dotnet ExampleProject.dll
5.2 运行包含环境的可执行文件
如果您生成了自包含的可执行文件,可以直接运行:
cd bin/Release/net8.0/linux-x64/publish/
./ExampleProject
欢迎指出任何有错误或不够清晰的表达,可以在下面评论区评论。