RenameFieldUsingJsonPropertyName()
如果是这种情况,我想我也可以在nuget上发布该子模块,然后在SDK中引用该子模型以解决该问题。但是,我的子模块是一个带有一些补丁的其他人包的叉子(包括添加此方法),所以我真的不想这样做,尤其是因为我在上游有PR。
NB:我已经看到了这个答案
,但是提到的旗帜似乎不存在。
我在阅读您的问题时想到了两个想法:
正如您已经提到的那样,使用
<ItemGroup>
<ProjectReference Include="..\..\..\vendor\Hypermedia\Src\Hypermedia.JsonApi.Client\Hypermedia.JsonApi.Client.csproj" />
<ProjectReference Include="..\..\..\vendor\Hypermedia\Src\Hypermedia\Hypermedia.csproj" />
</ItemGroup>
→
dotnet pack
→
nuget pack
→
dotnet pack
→,使用
dotnet pack
.nuspec
元素:由于您已经在构建了其他项目,因此可以将引用添加到Microsoftdocs
,您可以尝试以下操作:<ItemGroup>
<ProjectReference Include="..\..\..\vendor\Hypermedia\Src\Hypermedia.JsonApi.Client\Hypermedia.JsonApi.Client.csproj">
<IncludeAssets>all</IncludeAssets>
</ProjectReference>
<ProjectReference Include="..\..\..\vendor\Hypermedia\Src\Hypermedia\Hypermedia.csproj">
<IncludeAssets>all</IncludeAssets>
</ProjectReference>
</ItemGroup>
disclaimer:我没有测试任何一个。
werified,this解决方案,仅在代码以下合并到您的项目文件。
<PropertyGroup>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\libProj\libProj.csproj">
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
<IncludeAssets>libProj.dll</IncludeAssets>
</ProjectReference>
</ItemGroup>
<Target DependsOnTargets="ResolveReferences" Name="CopyProjectReferencesToPackage">
<ItemGroup>
<BuildOutputInPackage Include="@(ReferenceCopyLocalPaths->WithMetadataValue('ReferenceSourceTarget', 'ProjectReference'))"/>
</ItemGroup>
</Target>