NuGet - NU5131: ссылки, объявленные в файле nuspe c, не упаковываются - PullRequest
1 голос
/ 17 марта 2020

Я пытаюсь сослаться на два .dll-файла в nupkg. Я добавил файлы в качестве ссылок в файл nuspe c:

<references>
   <reference file="Project.Modules.ModuleA.dll" />
   <reference file="Project.Modules.ModuleB.dll" />
</references>

Когда я пытаюсь упаковать пакет, я получаю следующее предупреждение, и пакет не включает указанные файлы.

ПРЕДУПРЕЖДЕНИЕ: NU5131: Ссылки были найдены в nuspe c, но некоторые ссылочные сборки не были найдены ни в nuspe c, ни в папке ref. Добавьте следующие справочные сборки: - добавьте Project.Modules.ModuleA.dll в каталог ref / any / - добавьте Project.Modules.ModuleB.dll в каталог ref / any /

Где я могу Поместите файлы, чтобы пакет включал необходимые файлы?

1 Ответ

1 голос
/ 20 апреля 2020

Поскольку я использовал. net core 3.1, оказалось, что все, что мне нужно было сделать, - это внести некоторые изменения в файл project.csproj в nupkg. Вот что я сделал:

Добавьте группу товаров:

<ItemGroup>
    <ProjectReference Include="..\..\Project.Modules.ModuleA.csproj" >
      <PrivateAssets>all</PrivateAssets>
      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
      <IncludeAssets>Project.Modules.ModuleA.dll</IncludeAssets>
    </ProjectReference>
    <ProjectReference Include="..\Project.Modules.ModuleB.csproj" >
      <PrivateAssets>all</PrivateAssets>
      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
      <IncludeAssets>Project.Modules.ModuleB.dll</IncludeAssets>
    </ProjectReference>
  </ItemGroup>

Затем добавьте цель:

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

И, наконец, добавьте это в элемент PropertyGroup:

<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>

Работает для меня как шарм

...