容器环境下如何将NuGet包XML文档添加到Swagger
https://blog.csdn.net/fuluadmin/article/details/117275547https://learn.microsoft.com/zh-cn/nuget/reference/cli-reference/cli-ref-environment-variables
https://learn.microsoft.com/zh-cn/visualstudio/msbuild/common-msbuild-project-items?view=vs-2022
https://learn.microsoft.com/zh-cn/nuget/create-packages/select-assemblies-referenced-by-projects
https://learn.microsoft.com/zh-cn/visualstudio/msbuild/msbuild-targets?view=vs-2022
https://learn.microsoft.com/zh-cn/nuget/consume-packages/package-references-in-project-files
https://learn.microsoft.com/zh-cn/nuget/consume-packages/managing-the-global-packages-and-cache-folders
\src\Tsc.LocalLife.InsteadOrder.Domain\Tsc.LocalLife.InsteadOrder.Domain.csproj
<PropertyGroup>
<TargetFramework>.net6.0</TargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup Condition="'$(Configuration)'=='Release'">
<PackageReference Include="Tsc.LocalLife.PubDomain" Version="1.0.0-ci.*" GeneratePathProperty="true">
<CopyToOutputDirectory>lib\net6.0\*.xml</CopyToOutputDirectory>
</PackageReference>
</ItemGroup>
<ItemGroup Condition="'$(Configuration)'=='Debug'">
<ProjectReference Include="..\..\..\Tsc.LocalLife.PubDomain\src\Tsc.LocalLife.PubDomain\Tsc.LocalLife.PubDomain.csproj" />
</ItemGroup>
<Target Name="AfterTargetsBuild" AfterTargets="Build">
<ItemGroup>
<PackageReferenceFiles
Condition="%(PackageReference.CopyToOutputDirectory) != ''"
Include="$(NugetPackageRoot)\$([MSBuild]::Escape('%(PackageReference.Identity)').ToLower())\%(PackageReference.Version)\%(PackageReference.CopyToOutputDirectory)" />
</ItemGroup>
<Message Text="复制文件:@(PackageReferenceFiles)" Importance="high"></Message>
<Copy SourceFiles="@(PackageReferenceFiles)" DestinationFolder="$(OutDir)" />
</Target>
<Target Name="AfterTargetsPublish" AfterTargets="Publish">
<ItemGroup>
<PackageReferenceFiles
Condition="%(PackageReference.CopyToOutputDirectory) != ''"
Include="$(NugetPackageRoot)\$([MSBuild]::Escape('%(PackageReference.Identity)').ToLower())\%(PackageReference.Version)\%(PackageReference.CopyToOutputDirectory)" />
</ItemGroup>
<Message Text="复制文件:@(PackageReferenceFiles)" Importance="high"></Message>
<Copy SourceFiles="@(PackageReferenceFiles)" DestinationFolder="$(PublishDir)" />
</Target>
\src\Tsc.LocalLife.InsteadOrder.WebApi\Tsc.LocalLife.InsteadOrder.WebApi.csproj
<PropertyGroup>
<TargetFramework>.net6.0</TargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Tsc.LocalLife.InsteadOrder.Domain\Tsc.LocalLife.InsteadOrder.Domain.csproj">
<CopyToOutputDirectory>..\Tsc.LocalLife.InsteadOrder.Domain\bin\$(Configuration)\.net6.0\*.xml</CopyToOutputDirectory>
</ProjectReference>
</ItemGroup>
<Target Name="AfterTargetsBuild" AfterTargets="Build">
<ItemGroup>
<ProjectReferenceFiles
Condition="%(ProjectReference.CopyToOutputDirectory) != ''"
Include="%(ProjectReference.CopyToOutputDirectory)"></ProjectReferenceFiles>
</ItemGroup>
<Message Text="复制文件:@(ProjectReferenceFiles)" Importance="high"></Message>
<Copy SourceFiles="@(ProjectReferenceFiles)" DestinationFolder="$(OutDir)" />
</Target>
<Target Name="AfterTargetsPublish" AfterTargets="Publish">
<ItemGroup>
<ProjectReferenceFiles
Condition="%(ProjectReference.CopyToOutputDirectory) != ''"
Include="%(ProjectReference.CopyToOutputDirectory)"></ProjectReferenceFiles>
</ItemGroup>
<Message Text="复制文件:@(ProjectReferenceFiles)" Importance="high"></Message>
<Copy SourceFiles="@(ProjectReferenceFiles)" DestinationFolder="$(PublishDir)" />
</Target>
\src\Tsc.LocalLife.InsteadOrder.WebApi\Dockerfile
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY . .
WORKDIR /src/src/Tsc.LocalLife.InsteadOrder.WebApi
ENV NUGET_XMLDOC_MODE none # 设置环境变量NUGET_XMLDOC_MODE
RUN dotnet publish Tsc.LocalLife.InsteadOrder.WebApi.csproj -c Release -o /app
FROM base AS final
RUN sed -i 's/MinProtocol = TLSv1.2/MinProtocol = TLSv1/g' /etc/ssl/openssl.cnf
RUN sed -i 's/MinProtocol = TLSv1.2/MinProtocol = TLSv1/g' /usr/lib/ssl/openssl.cnf
WORKDIR /app
COPY --from=build /app .
RUN rm -rf appsettings.Development.json
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone
ENTRYPOINT ["dotnet", "Tsc.LocalLife.InsteadOrder.WebApi.dll"]