1

我要netstandard2.0项目:

  1. 项目A/src/client/client.csproj
  2. 项目B/src/lib/lib.csproj

项目 A 客户参考项目 b 库,如:


...

<ItemGroup>
    <ProjectReference Include="..\..\..\projectB\src\lib.csproj">
        <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
        <IncludeAssets>lib.dll</IncludeAssets>
    </ProjectReference>
</ItemGroup>

<Target DependsOnTargets="ResolveReferences" Name="CopyProjectReferencesToPackage">
    <ItemGroup>
        <BuildOutputInPackage Include="@(ReferenceCopyLocalPaths-&gt;WithMetadataValue('ReferenceSourceTarget', 'ProjectReference'))" />
    </ItemGroup>
</Target>

...


我尝试创建 nuget 包:dotnet pack projectA/src/client.csproj --configuration Client

.nu​​pkg 包含 lib.dll,但是...

当我尝试将包引用到 projectC 时,我得到projectC.csproj: [NU1101] Unable to find package projectB. No packages exist with this id in source(s): nuget.org

如何解决?

4

1 回答 1

0

我发现除了您链接到的自定义目标之外,我还需要添加PrivateAssets="all"到 ProjectReference。

于 2021-07-22T19:49:51.157 回答