|
|
|
|
说明
|
|
|
|
|
====
|
|
|
|
|
|
|
|
|
|
## 关于 共享框架
|
|
|
|
|
随着 .NET Core 3.0 的发布,许多 ASP.NET Core 程序集不再作为包发布到 NuGet。
|
|
|
|
|
相反,程序集包含在 Microsoft.AspNetCore.App 共享框架中,该框架随 .NET Core SDK 和运行时安装程序一起安装。
|
|
|
|
|
|
|
|
|
|
+ Web项目,一般自动包含 AspMicrosoft.AspNetCore.App 共享框架,即 共享框架由项目的Sdk属性(Microsoft.NET.Sdk.Web)自动引入
|
|
|
|
|
```xml
|
|
|
|
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
|
|
|
|
<!--共享项目由上面Sdk类型(Microsoft.NET.Sdk.Web)自动引入-->
|
|
|
|
|
<PropertyGroup>
|
|
|
|
|
<TargetFramework>net7.0</TargetFramework>
|
|
|
|
|
<Nullable>enable</Nullable>
|
|
|
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
|
|
<ItemGroup>
|
|
|
|
|
<!--Nuget包引用-->
|
|
|
|
|
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="7.0.5" />
|
|
|
|
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
|
|
|
|
|
</ItemGroup>
|
|
|
|
|
|
|
|
|
|
<ItemGroup>
|
|
|
|
|
<!--项目引用-->
|
|
|
|
|
<ProjectReference Include="..\xx.csproj" />
|
|
|
|
|
</ItemGroup>
|
|
|
|
|
|
|
|
|
|
</Project>
|
|
|
|
|
```
|
|
|
|
|
+ 类库项目等,要手动引入(无法使用nuget包的方式引入)
|
|
|
|
|
```xml
|
|
|
|
|
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
|
<PropertyGroup>
|
|
|
|
|
<TargetFramework>net7.0</TargetFramework>
|
|
|
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
|
|
|
<Nullable>enable</Nullable>
|
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
|
|
<ItemGroup>
|
|
|
|
|
<!-- 手动引入共享框架(不指定版本,自动跟随项目版本),多目标项目,也可以使用变量根据目标选择引入-->
|
|
|
|
|
<FrameworkReference Include="Microsoft.AspNetCore.App" />
|
|
|
|
|
</ItemGroup>
|
|
|
|
|
|
|
|
|
|
<ItemGroup>
|
|
|
|
|
<!--Nuget包引用-->
|
|
|
|
|
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="7.0.5" />
|
|
|
|
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
|
|
|
|
|
</ItemGroup>
|
|
|
|
|
|
|
|
|
|
<ItemGroup>
|
|
|
|
|
<!--项目引用-->
|
|
|
|
|
<ProjectReference Include="..\xx.csproj" />
|
|
|
|
|
</ItemGroup>
|
|
|
|
|
|
|
|
|
|
</Project>
|
|
|
|
|
```
|
|
|
|
|
```xml
|
|
|
|
|
<!-- 多目标示例-->
|
|
|
|
|
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
|
|
|
|
|
|
<PropertyGroup>
|
|
|
|
|
<TargetFrameworks>netstandard2.0;netcoreapp3.0;netcoreapp3.1;net5.0;net6.0;net7.0</TargetFrameworks>
|
|
|
|
|
<PackageTags>aspnetcore;authentication;security;basicauth</PackageTags>
|
|
|
|
|
<Configurations>Debug;Release;CodeQL</Configurations>
|
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
|
|
<!-- netstandard2.0 版本引入老版本的包(Microsoft.AspNetCore.Authentication等) -->
|
|
|
|
|
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
|
|
|
|
|
<PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.0" />
|
|
|
|
|
<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.0" />
|
|
|
|
|
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0" />
|
|
|
|
|
</ItemGroup>
|
|
|
|
|
|
|
|
|
|
<!-- 高版本手动引入共享框架(Microsoft.AspNetCore.App),由共享框架引入模块 -->
|
|
|
|
|
<ItemGroup Condition="'$(TargetFramework)' != 'netstandard2.0'">
|
|
|
|
|
<FrameworkReference Include="Microsoft.AspNetCore.App" />
|
|
|
|
|
</ItemGroup>
|
|
|
|
|
</Project>
|
|
|
|
|
```
|