【发布时间】:2016-07-01 15:25:16
【问题描述】:
我有一个包含大约 30 个项目的 .net 解决方案,所有项目都针对 .Net Framework 4.5。并且每个都引用至少 3-4 个 NuGet 包。
我们现在需要将它们更新到 .Net Framework 4.6.1。所以这是我需要知道的:
- 我是否也需要重新定位 NuGet 包,还是可以跳过它,因为这将是“就地”升级?
- 如果是,我是否可以通过将每个 NuGet 包的 targetFramework="net45" 替换为 targetFramework="net461" 来更新每个项目的 packages.config 文件?我已经看到一些线程建议卸载,然后通过“update-package”命令重新安装包。我今天尝试了,但结果出现了一些错误。
【问题讨论】:
-
修改 packages.config 文件中的 targetFramework 对项目中引用的程序集没有影响,假设您没有使用 .xproj,因此这样做不是正确的更改。我猜想没有多少 NuGet 包具有明确针对 .NET 4.6 的程序集,所以我怀疑不需要重新定位任何东西。您应该能够查看 NuGet 包的 lib 目录以了解它们的目标。
-
所以我最终将 75% 的 NuGet 包升级到了最新版本。升级后,大多数包的 targetFramework 属性自动设置为“net461”。有一些软件包我稍后会升级,升级后它们似乎可以正常工作。谢谢。
-
从 4.5.* 升级到 4.* 将工作设计:msdn.microsoft.com/en-us/library/ff602939%28v=vs.110%29.aspx
标签: c# asp.net .net visual-studio-2013 nuget