直接帖代碼
.csproj
<PropertyGroup>
<PackageId>ShenTong.EntityFrameworkCore.Oscar</PackageId>
<PackageVersion>1.0.0-alpha-1.0</PackageVersion>
<Authors>microestc</Authors>
<Company>shentong</Company>
<Description>Oscar database provider for Entity Framework Core.</Description>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);LibContentTarget</TargetsForTfmSpecificBuildOutput>
</PropertyGroup>
<Target Name="LibContentTarget">
<ItemGroup>
<TfmSpecificPackageFile Include="lib\System.Data.OscarClient.dll" Condition="'$(TargetFramework)' == 'netstandard2.1'">
<PackagePath>lib\$(TargetFramework)</PackagePath>
</TfmSpecificPackageFile>
</ItemGroup>
</Target>
<ItemGroup>
<Reference Include="System.Data.OscarClient">
<HintPath>lib\System.Data.OscarClient.dll</HintPath>
<PrivateAssets>all</PrivateAssets>
</Reference>
</ItemGroup>
用於創建自定義包的高級擴展點
pack 目標提供了兩個擴展點,這些點在內部特定於目標框架的內部版本中運行。 擴展點支持包括特定於目標框架的內容和程序集到包中:
TargetsForTfmSpecificBuildOutput 目標:用於 lib 文件夾內的文件或使用 BuildOutputTargetFolder指定的文件夾。
TargetsForTfmSpecificContentInPackage 目標:用於 BuildOutputTargetFolder以外的文件。
TargetsForTfmSpecificBuildOutput
編寫一個自定義目標並將其指定為 $(TargetsForTfmSpecificBuildOutput) 屬性的值。 對於需要進入 BuildOutputTargetFolder 的任何文件(默認情況下 lib),目標應將這些文件寫入 ItemGroup BuildOutputInPackage 並設置以下兩個元數據值:
FinalOutputPath:文件的絕對路徑;如果未提供,則標識用於計算源路徑。
TargetPath:(可選)當文件需要進入到 lib<TargetFramework> 中的子文件夾時設置,如在其各自的區域性文件夾下的附屬程序集。 默認為文件的名稱。
另一種方式是
修改 .nuspec 文件配置
優先使用第一種方案