使用 NuGet 限制对特定 .NET 版本的依赖

Restrict Dependencies to specific .NET version using NuGet

我有一个针对框架 4.5.1 的 C# 解决方案,但我需要安装它的服务器使用 4.0,所以我需要回滚它。

开发者使用了NuGet(我不是很熟悉)进行依赖管理。我已经看到有一种方法可以请求每个库的特定版本,所以我希望有一个功能可以让我将这些限制为特定的 .NET 版本。

如何让 NuGet 安装 .NET 版本 4 的最新依赖项,或者这不是它支持的功能?

Nuget 应该安装适用于目标 .NET 版本的包

检查您的包文件夹,或检查每个依赖项的文档以了解对 .NET 4.0 的支持
在某些情况下,您可能只需要重新定位您的应用程序而无需卸载任何 Nuget 包。

要安装特定版本的 Nuget 包,您可以使用“-Version”标志
示例 -

Install-Package AvalonDock -Version 2.0.1320

参考文献 -
http://docs.nuget.org/Consume/Package-Manager-Console
http://dutton.me.uk/2013/07/24/how-to-install-a-specific-version-of-a-package-with-nuget/

如果您更改项目的目标框架,那么Visual Studio 将检查NuGet 包的兼容性并告诉您哪些兼容或不兼容以及是否需要重新安装。然后,您可以使用 -reinstall 选项从包管理器控制台 reinstall 它们。

Update-Package –reinstall <packageName>

NuGet 不直接支持为特定 .NET 版本限制或安装 NuGet 包的方法。 NuGet 包将支持或不支持该 .NET 版本。您可以 restrict a project to a specific version of the NuGet package 通过使用 packages.config 文件中的 allowedVersions 属性,但这与 NuGet 包支持的 .NET 版本无关。