Nuget Install-.net core-库目录中的所有程序集都不会作为引用添加
作为项目的一部分,我创建了一个nuget包(目标是.NETCore3.1),它在最终的“lib”目录中有多个程序集。尽管.NETCore主张为每个引用的项目创建一个单独的nuget包,但我还是遵循了前面提到的解决方法。但是,当我尝试在另一个简单的控制台项目中使用这个nuget时,我没有看到“编译时程序集”中引用的lib目录中存在的所有DLL,编译时程序集中只列出了其中一个DLL。我是不是遗漏了什么?感谢您的帮助如果您的主nuget项目在依赖项下有许多引用的程序集DLL-->程序集,则函数不会将其添加到nuget包中,因为它非常脆弱 你必须把它们全部重新包装。只需在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-->程序集,则函数不会将其
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->WithMetadataValue('ReferenceSourceTarget', 'ProjectReference'))" />
</ItemGroup>
</Target>
<ItemGroup>
<None Include="$(TargetDir)\*.dll" Pack="true" PackagePath="lib\$(TargetFramework)"></None>
</ItemGroup>
</Project>