如何确保 c# 解决方案中的所有项目都使用相同版本的第三方库?
How to ensure that all projects in a c# solution use same versions of third party library?
我正在研究一个包含多个项目的解决方案,我在其中一个项目(class 库)中更新了 Newtonsoft.Json
。这在另一个项目(一个 ASP.Net WebApi 项目)中导致了一些错误,因为它也需要更新对 Newtonsoft.Json
的引用。
错误是在 运行 时抛出的,而不是编译时,我不得不在解决方案中的每个项目上手动安装 Newtonsoft.Json
。
Install-Package Newtonsoft.Json
这让我想知道是否可以在解决方案级别更新所有第三方库?
我知道您可以创建一个文件夹来存储库并将其添加到源代码管理中,但我想避免这种情况。
我希望 Nuget 在从存储库中获取解决方案后下载库。我想知道是否可以:
- 在解决方案中创建一个名为
www.solution.com.thirdparty
的新项目
- 添加对所有使用 nuget 的第三方软件的引用
- 通过
www.solution.com.thirdparty
公开所有第三方库
我不知道第三步怎么做,我也想知道有没有更好的方法?
如in this post所述,在解决方案级别使用包。
或者你可以看看 Paket,它有一个很好的传递依赖解析算法,可能适合你。
我正在研究一个包含多个项目的解决方案,我在其中一个项目(class 库)中更新了 Newtonsoft.Json
。这在另一个项目(一个 ASP.Net WebApi 项目)中导致了一些错误,因为它也需要更新对 Newtonsoft.Json
的引用。
错误是在 运行 时抛出的,而不是编译时,我不得不在解决方案中的每个项目上手动安装 Newtonsoft.Json
。
Install-Package Newtonsoft.Json
这让我想知道是否可以在解决方案级别更新所有第三方库?
我知道您可以创建一个文件夹来存储库并将其添加到源代码管理中,但我想避免这种情况。
我希望 Nuget 在从存储库中获取解决方案后下载库。我想知道是否可以:
- 在解决方案中创建一个名为
www.solution.com.thirdparty
的新项目
- 添加对所有使用 nuget 的第三方软件的引用
- 通过
www.solution.com.thirdparty
公开所有第三方库
我不知道第三步怎么做,我也想知道有没有更好的方法?
如in this post所述,在解决方案级别使用包。
或者你可以看看 Paket,它有一个很好的传递依赖解析算法,可能适合你。