Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NuGet-NU5131:未打包nuspec文件中声明的引用_C#_.net_Nuget_Nuget Package_Nuspec - Fatal编程技术网

C# NuGet-NU5131:未打包nuspec文件中声明的引用

C# NuGet-NU5131:未打包nuspec文件中声明的引用,c#,.net,nuget,nuget-package,nuspec,C#,.net,Nuget,Nuget Package,Nuspec,我试图引用nupkg中的两个.dll文件。我已将这些文件作为引用添加到nuspec文件中: <references> <reference file="Project.Modules.ModuleA.dll" /> <reference file="Project.Modules.ModuleB.dll" /> </references> 当我尝试打包时,会收到以下警告,并且该包不包含引用的文件 警告:NU5131:在nuspec

我试图引用nupkg中的两个.dll文件。我已将这些文件作为引用添加到nuspec文件中:

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

当我尝试打包时,会收到以下警告,并且该包不包含引用的文件

警告:NU5131:在nuspec中找到了引用,但有些 在nuspec和ref文件夹中均未找到引用程序集。 添加以下引用程序集: -将Project.Modules.ModuleA.dll添加到ref/any/目录 -将Project.Modules.ModuleB.dll添加到ref/any/目录


为了让包包含所需的文件,我应该将文件放在哪里?

因为我使用的是.net core 3.1,所以我所要做的就是在nupkg的project.csproj文件中进行一些调整。以下是我所做的:

添加项目组:

<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>

全部的
真的
Project.Modules.ModuleA.dll
全部的
真的
Project.Modules.ModuleB.dll
然后添加一个目标:

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

最后将其添加到PropertyGroup元素中:

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

对我来说很有魅力

你知道吗?@Trent是的,我会回答我自己的问题