Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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
Nuget Install-.net core-库目录中的所有程序集都不会作为引用添加_.net_Visual Studio_.net Core_Nuget_Nuget Package Restore - Fatal编程技术网

Nuget Install-.net core-库目录中的所有程序集都不会作为引用添加

Nuget Install-.net core-库目录中的所有程序集都不会作为引用添加,.net,visual-studio,.net-core,nuget,nuget-package-restore,.net,Visual Studio,.net Core,Nuget,Nuget Package Restore,作为项目的一部分,我创建了一个nuget包(目标是.NETCore3.1),它在最终的“lib”目录中有多个程序集。尽管.NETCore主张为每个引用的项目创建一个单独的nuget包,但我还是遵循了前面提到的解决方法。但是,当我尝试在另一个简单的控制台项目中使用这个nuget时,我没有看到“编译时程序集”中引用的lib目录中存在的所有DLL,编译时程序集中只列出了其中一个DLL。我是不是遗漏了什么?感谢您的帮助如果您的主nuget项目在依赖项下有许多引用的程序集DLL-->程序集,则函数不会将其

作为项目的一部分,我创建了一个nuget包(目标是.NETCore3.1),它在最终的“lib”目录中有多个程序集。尽管.NETCore主张为每个引用的项目创建一个单独的nuget包,但我还是遵循了前面提到的解决方法。但是,当我尝试在另一个简单的控制台项目中使用这个nuget时,我没有看到“编译时程序集”中引用的lib目录中存在的所有DLL,编译时程序集中只列出了其中一个DLL。我是不是遗漏了什么?感谢您的帮助

如果您的主nuget项目在依赖项下有许多引用的程序集DLL-->程序集,则函数不会将其添加到nuget包中,因为它非常脆弱

你必须把它们全部重新包装。只需在
csproj
文件中添加这些节点即可

<ItemGroup>
        <None Include="$(TargetDir)\*.dll" Pack="true" PackagePath="lib\$(TargetFramework)"></None>
</ItemGroup>

注意:当您将新版本安装到另一个项目中时,请首先删除所有存在于
C:\Users\xxx\.nuget\packages
或。

下您的旧错误版本的nuget缓存。我没有投反对票,但您没有提供足够的信息供我调查。我不想阅读你链接的博客文章,创建多个项目并测试生成的包。也许我太懒了,但如果我花60秒以上的时间去调查,我就不太可能这么做。而且,也许它对我“只起作用”,那么我就不知道为什么它对你不起作用了。如果您遵循StackOverflow的建议,人们将更容易帮助您:。鉴于NuGet根据包中的文件路径/名称按约定工作,告诉我们nupkg中的文件列表可能足以回答您的问题。甚至博客帖子也没有显示生成的nupkg文件列表。嗨,纳伦,有关于你的问题的更新吗?嗨,纳伦,有关于这个问题的更新吗?请检查我的回答是否有助于您处理该问题。如果有帮助,请不要忘记。如果没有,请随时通知我们。
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
      <ProjectReference Include="..\testtt\testtt.csproj">
          <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
          <IncludeAssets>testtt.dll</IncludeAssets>
        
      </ProjectReference>
  </ItemGroup>

  <ItemGroup>
    <Reference Include="testr" Pack="true" PackagePath="lib\$(TargetFramework)">
      <HintPath>..\..\testr\testr\bin\Debug\netstandard2.0\testr.dll</HintPath> 
    </Reference>
  </ItemGroup>

    <PropertyGroup>
        <TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
    </PropertyGroup>
    <Target Name="CopyProjectReferencesToPackage" DependsOnTargets="ResolveReferences">
        <ItemGroup>
            <BuildOutputInPackage Include="@(ReferenceCopyLocalPaths-&gt;WithMetadataValue('ReferenceSourceTarget', 'ProjectReference'))" />
        </ItemGroup>
    </Target>
    <ItemGroup>
        <None Include="$(TargetDir)\*.dll" Pack="true" PackagePath="lib\$(TargetFramework)"></None>
    </ItemGroup>
</Project>