首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否需要将标记为依赖项的DLL添加到nuget lib文件夹

是否需要将标记为依赖项的DLL添加到nuget lib文件夹
EN

Stack Overflow用户
提问于 2013-04-30 20:37:42
回答 2查看 1.1K关注 0票数 2

我有一个包和nuspec文件,我是通过将相关程序集的dll复制到lib文件夹中构建的,该文件夹与我的nuspec文件位于同一文件夹中。这一切都工作得很好,这里没有问题。

我有第二个包,它通过nuget引用第一个包,因此为了构建它的包,我遵循了相同的过程,但在nuspec文件中添加了一个依赖元素。当我从release复制到lib时,它也需要依赖的dll。

因为这被标记为依赖项,所以我可以将它从by lib文件夹中删除(我希望通过nuget下载它,而不是包含在当前包中)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-02 16:19:34

在做了一些测试之后,结果证明添加依赖项并不需要dll在库中。该依赖项假定它将由Nuget解决。可以通过nuget GUI创建一个新的包文件并添加一些依赖项来确认这一点。请注意,它们在保存后不会显示在lib文件夹中。

票数 0
EN

Stack Overflow用户

发布于 2013-05-01 06:27:06

我不确定我是否准确地理解了您的场景,但一般来说,我可以说:根据您创建NuGet包的方式,您可能甚至不必指定依赖项。给出一个具有以下结构的Visual Studio解决方案:

代码语言:javascript
复制
* 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文件中指定依赖项。然后,这些依赖项还将包括创建包时的外部库版本。

NuGet 2.5开始,还有一个新功能可以自动解决同一解决方案中项目之间的依赖关系。在v2.5中,您可以运行以下命令:

代码语言:javascript
复制
nuget pack projectfile1.csproj -IncludeReferencedProjects

这也会导致对Project2的NuGet依赖。如果Project2没有作为NuGet包公开(即它没有nuspec文件),Project2的dll将作为文件包含在Project1的NuGet包中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16300110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档