我是否需要添加DLL';标记为nuget lib文件夹的依赖项的
我有一个包和nuspec文件,我通过将有关程序集的dll复制到一个lib文件夹中来构建它,该文件夹与我的nuspec文件位于同一文件夹中。这一切都很好,没有问题 我有第二个包,它通过nuget引用第一个包,所以为了构建它的包,我遵循相同的过程,但在nuspec文件中添加了依赖项元素。当我从release复制到lib时,它还需要依赖的dll我是否需要添加DLL';标记为nuget lib文件夹的依赖项的,nuget,nuget-package,Nuget,Nuget Package,我有一个包和nuspec文件,我通过将有关程序集的dll复制到一个lib文件夹中来构建它,该文件夹与我的nuspec文件位于同一文件夹中。这一切都很好,没有问题 我有第二个包,它通过nuget引用第一个包,所以为了构建它的包,我遵循相同的过程,但在nuspec文件中添加了依赖项元素。当我从release复制到lib时,它还需要依赖的dll 因为这被标记为依赖项,所以我可以从by lib文件夹中删除它(我希望它通过nuget下载,而不是包含在当前包中)。我不确定我是否准确地了解了您的场景,但通常我
因为这被标记为依赖项,所以我可以从by lib文件夹中删除它(我希望它通过nuget下载,而不是包含在当前包中)。我不确定我是否准确地了解了您的场景,但通常我可以说:根据您创建nuget包的方式,您甚至可能不需要指定依赖项。给定具有以下结构的Visual Studio解决方案:
* Solution1
- Project1
* projectfile1.csproj
- using external libraries through NuGet
- project reference to Project2
* nuspecfile1.nuspec
- Project2
* projectfile2.csproj
* nuspecfile2.nuspec
如果运行nuget pack projectfile1.csproj
,则Project1中包含的任何nuget软件包将自动作为依赖项包含在nuget软件包中,即使您尚未在nuspec文件中指定依赖项。这些依赖关系还将包括创建包时外部库的版本
截至,还有一个新功能可以自动解决同一解决方案中项目之间的依赖关系。使用v2.5,您可以运行以下命令:
nuget pack projectfile1.csproj -IncludeReferencedProjects
这也将导致对Project2的NuGet依赖性。如果Project2没有作为NuGet包公开(即它没有nuspec文件),Project2的dll将作为文件包含在Project1的NuGet包中。在进行一些测试后,添加依赖项并不要求dll位于库中。依赖项假定它将由Nuget解决。这可以通过通过nuget GUI创建一个新的包文件并添加一些依赖项来确认。请注意,它们在保存后不会显示在lib文件夹中