繁体   English   中英

Nuget 安装 - .net 核心 - lib 目录中的所有程序集均未添加为参考

[英]Nuget Install - .net core - All assemblies in lib directory are not added as references

作为项目的一部分,我创建了一个 nuget package(针对 .net 核心 3.1),在最终的“lib”目录中有多个程序集。 尽管 .net 内核主张为每个引用的项目创建一个单独的 nuget package,但我遵循了此处提到的解决方法。 但是当我尝试在另一个简单的控制台项目中使用这个 nuget 时,我没有看到“编译时程序集”中引用的 lib 目录中存在的所有 DLL,只有其中一个列在编译时程序集中。 我在这里有什么遗漏吗。 ? 感谢任何帮助

If your main nuget project has many referenced assembly dlls under Dependencies --> Assemblies , it will not be added into the nuget package by your function since it is very fragile.

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

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

这是我的整个csproj文件,它将所有 dll 从引用的程序集 dll 和项目引用中打包到Lib文件夹中。

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

注意:当您将新发行版本安装到另一个项目中时,请先删除C:\Users\xxx\.nuget\packages下存在旧错误版本的所有 nuget 缓存或使用这种方式清理 Z0558427B7B 缓存 FE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM