按照我的项目的说明运行 Visual Studio 2022 Community。右键单击我的解决方案中的项目(我的解决方案中有 3 个项目),选择“Pack”,它会按照说明进行构建。问题在于,它包含来自包中同一解决方案中另一个项目的 dll,而不是控制台输出中显示的 dll。 dll 都在同一目录中。
我看过的有关 dll 和 nuget 的所有内容都涉及获取依赖项和其他文件,但不是应该打包的主要内容。
此外,我还收到了这两个警告,我查了一下,但我发现的内容对我来说没有意义,或者让我清楚地知道我需要做什么来防止这些错误:
NuGet.Build.Tasks.Pack.targets(221,5): warning NU5128: Some target frameworks declared
in the dependencies group of the nuspec and the lib/ref folder do not have exact matches
in the other location. Consult the list of actions below:
NuGet.Build.Tasks.Pack.targets(221,5): warning NU5128: - Add lib or ref assemblies for
the net7.0 target framework
那么如何确保“Pack”命令包含正确的 dll?
答案 - 在 .csproj 文件中,有一个属性
<IncludeBuildOutput>
,它被设置为 false
,并将其设置为 true 会导致我感兴趣的特定 dll 包含在安装中。 .nupkg 文件在内容列表中添加了 lib/Net7.0/mylib.dll
。