我已将当前针对 VS2010 中的 .NET 4.0 的解决方案迁移到 VS2012,现在我想将其重新定位到 .Net 4.5
我不确定的是 NuGet 包。例如,我在 VS2010 中从 EF4 更新的 EF5 实际上是 EF 4.4,如您在此处看到的:
<Reference Include="EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll</HintPath> </Reference>
我还可以在项目的 packages.config 中看到以下内容:
<?xml version="1.0" encoding="utf-8"?> <packages> <package id="EntityFramework" version="5.0.0" targetFramework="net40" /> </packages>
所以我的问题是:
将当前设置为面向 .NET 4.0 的所有 NuGet 包重新定位为面向 .NET 4.5 的最佳做法是什么?
NuGet 2.1 提供了一项功能,使这变得更简单:只需update-package -reinstall -ignoreDependencies从包管理器控制台执行。
update-package -reinstall -ignoreDependencies
NuGet 2.0 不能很好地处理重新定位您的应用程序。为了更改包的目标框架,您必须卸载并重新安装包(记下您已安装的包,以便重新安装它们)。
必须卸载并重新安装软件包的原因是: