0

我有 2 个解决方案:

  • 解决方案1
    • Project1.1:引用nuget包NU1
  • 解决方案2
    • Project2.1:参考解决方案1 ​​/ Project1.1

当我构建 Solution2 时它失败了,因为 nuget 将 NU1 包拉到 Solution2 的包中,并且当 Project1.1 作为依赖项构建时,NU1 包丢失。

之前的问题和答案已经说服我比 .dll 更好地参考项目——但是,恐怕我还没有理解在使用 nuget 时如何遵循这个指南。

预先感谢您的意见!

4

3 回答 3

0

问题是Solution1通过查看文件夹来解决它的引用Solution1\package,这在构建时不会发生Solution2

打开你的csproj文件找到

<ItemGroup>
    <Reference>      
       <HintPath>..\..\packages\SomeReference\lib\net45\Reference.dll</HintPath>    

将相对位置替换..\..\$(SolutionDir)as

<HintPath>$(SolutionDir)\packages\SomeReference\lib\net45\Reference.dll</HintPath>   

由于这$(SolutionDir)将是解决方案文件夹的路径,因此它将解决未来的所有参考问题。

于 2019-08-21T12:11:28.520 回答
0

最终,我这样管理:

  • 创建了一个与解决方案目录平行的目录
  • 每个解决方案都会获得一个 nuget.config 文件

=>所有解决方案都使用相同的包:)

于 2016-02-09T08:41:58.463 回答
0

当它们在同一个解决方案中时,您应该引用项目。在其他所有情况下,您都应该引用 nuget。

这可能需要私有 nuget 提要。

为什么这样?

  1. 解决方案没有任何共同点 - 下一个开发人员不会理解这个隐藏的参考
  2. 如果你只一起使用它们也许它们应该在解决方案中
于 2015-12-21T10:24:20.170 回答