【发布时间】:2017-02-24 08:49:51
【问题描述】:
我有一个由不同项目组成的 C# 解决方案。
MySolution
+-- Project1
+-- Project2
| +-- packages.config
+-- Project3
+-- packages
| +-- System.Linq.4.0.0
| +-- System.CodeAnalysis.CSharp.1.3.2
如您所见,我有 NuGet 依赖项。
声明依赖,安装它们
我的意思是,Visual Studio 已经创建了packages.config,其中包含我在项目中实际需要这些依赖项的依赖项列表。我想这很好。
此外,Visual Studio 将所有包安装在解决方案文件夹中的一个文件夹中。这也很好,因为像Project1(取决于Project2)这样的项目也需要引用这些包。
问题
我对这种安排表示怀疑:
- 在解决方案文件夹中而不是在其中一个项目中定义
packages.config中的包不是更好吗? - 如果项目使用不同的 NuGet 包,解决方案文件夹中的
packages.config将枚举所有这些包。还好吗? - 如果我从每个项目中删除
packages.config并在解决方案文件夹中添加packages.config,Visual Studio 是否会在我每次更新/添加/删除包时更新该文件? - 这是推荐的方法吗?
请注意,我已经尝试过了,除了第 3 点,Visual Studio 似乎无法识别我已安装的软件包外,它似乎很好。除此之外,这个问题与最佳实践非常相关。
【问题讨论】:
-
你有没有想过在同一个文件夹中有多个解决方案文件?
-
@MichaelSpranger 好吧,我看不出有什么好处?做什么的?解决方案文件是指
package.config?解决方案文件是MySolution.sln,我猜你有错字... -
我的意思是一个文件夹中有多个 .sln 文件。当我们想将不同组合的项目组合成一个解决方案时,我们有时会这样做。
-
@MichaelSpranger 但这对我有什么帮助?
-
它不应该“帮助”你。我只是想提出一个问题,如果您提议的设置将支持一个文件夹中的多个 .sln 文件。
标签: c# .net visual-studio nuget nuget-package