Asp.net 如何使用Nuget使其他人可以使用项目依赖项(库)

Asp.net 如何使用Nuget使其他人可以使用项目依赖项(库),asp.net,visual-studio,project,nuget,Asp.net,Visual Studio,Project,Nuget,全部: 我需要关于如何使用Nuget使我的项目依赖项(库)可供其他开发人员使用的建议,这些开发人员反过来将我的项目作为依赖项。有关详细信息,请参见下面的场景: 我已经在一个解决方案(SolA)中创建了一个Visual Studio 2013项目(ProjA),该解决方案依赖于一个库(LibA[我没有提交到源代码管理中])。我使用Nuget在SolA解决方案级别通过.Nuget文件夹中的Nuget.Config管理/获取project ProjA(即库LibA)的依赖项,一切正常。开发人员可以签出

全部:

我需要关于如何使用Nuget使我的项目依赖项(库)可供其他开发人员使用的建议,这些开发人员反过来将我的项目作为依赖项。有关详细信息,请参见下面的场景:

我已经在一个解决方案(SolA)中创建了一个Visual Studio 2013项目(ProjA),该解决方案依赖于一个库(LibA[我没有提交到源代码管理中])。我使用Nuget在SolA解决方案级别通过.Nuget文件夹中的Nuget.Config管理/获取project ProjA(即库LibA)的依赖项,一切正常。开发人员可以签出SolA解决方案,并使用Nuget从本地服务器获取LibA来构建/部署

我的问题是,我现在需要让开发人员在另一个解决方案(SolB)中构建他们的项目(ProjB),但该解决方案将ProjA作为一个依赖项目导入/使用。问题是,当作为SolB解决方案的一部分构建时,我无法找到让Nuget获取ProjA(即LibA)依赖项的方法。我尝试将Nuget.Config文件放在ProjA级别,但VS build似乎忽略了它


有什么想法吗???

在这里,您似乎混合了两种不同但不太兼容的代码共享方法:

  • 代码级依赖项
  • 包级依赖项
不同解决方案之间的代码级依赖通常是一件坏事,您应该避免它们。解决方案应该封装和构建它需要的所有源代码,依赖于“库”DLL(无论是作为原始DLL还是通过NuGet提供)

我建议您使用“包级依赖关系”模式重新处理您的解决方案,这样您就有了一个单独的“库”解决方案,该解决方案提供一个NuGet包(或一组NuGet包),其他两个解决方案可以使用:

以下是当前(笨拙的)依赖关系图:

Solution A            Solution B
  Proj A ----------->  Proj B
    ^--------------------'
以下是我对独立库解决方案的建议:

    +----> Solution L <----+
    |                      |
Solution A             Solution B
+--->解决方案L