1、修改.csproj 文件
参考文档:https://learn.microsoft.com/en-us/dotnet/core/compatibility/sdk/6.0/duplicate-files-in-output
以下构建属性添加到所有可发布 (*.Web) 项目的 *.csproj
文件中:
<PropertyGroup>
<ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles>
</PropertyGroup>
2、排除compilerconfig.json和package.json
参考文档:https://learn.microsoft.com/en-us/dotnet/core/compatibility/sdk/6.0/duplicate-files-in-output
将以下行添加到解决方案的根目录中的common.props:
<Content Remove="compilerconfig.json;package.json"/>
<None Include="compilerconfig.json;package.json">
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
3、 .NET 6.0 项目发布
1)构建项目
可以使用 Visual Studio、Visual Studio Code 或 .NET CLI 来构建项目。使用以下命令在项目目录中构建项目:
dotnet build
2)发布项目
使用 Visual Studio,右键单击项目,选择“发布”,然后按照向导的步骤配置发布设置。
或使用 .NET CLI 命令发布项目:
dotnet publish -c Release -o output_directory
3)启动程序
要启动 .NET 6.0 应用程序。可以使用以下命令在服务器上启动应用程序:
dotnet project_name.dll
4、.NET 6.0 项目独立发布
在 .NET 6 中,可以将应用程序发布为独立的自包含执行文件。这样的发布方式称为 "self-contained" 发布,它包括了应用程序的运行时和所有依赖项,以便在没有安装 .NET 的环境中运行应用程序。
1)发布项目为自包含执行文件命令:
dotnet publish -c Release -r runtime_identifier --self-contained true
说明:
参数 | 描述 |
-c Release | 指定发布配置为 Release。 |
-r | 指定目标运行时的标识符,根据目标操作系统选择标识符。 |
--self-contained true | 指定生成自包含的执行文件。 |
若使用 Visual Studio,右键单击项目,选择“发布”,然后在向导发布设置中,部署模式(M) 选择 “独立” 即可。
2)运行程序
可以在目标计算机上运行生成的自包含执行文件,无需安装 .NET 运行时。运行命令如下:
./AppName
注意: .NET 6 应用程序就会以独立的方式运行,而不需要目标计算机上安装 .NET 运行时。