关于c#:从.Net Framework 4.5升级到4.6.1后Nuget重新定位

Nuget re-targeting after upgrading from .Net Framework 4.5 to 4.6.1

本问题已经有最佳答案,请猛点这里访问。

我有一个.NET解决方案,大约有30个项目,所有项目都以.NET Framework 4.5为目标。每个都引用至少3-4个nuget包。

我们现在需要将它们更新到.NET Framework 4.6.1。所以我需要知道的是:

  • 我是否也需要重新定位nuget包,或者我可以跳过它,因为这将是一个"就地"升级?
  • 如果是,我可以只更新每个项目的packages.config文件,将每个nuget包的targetframework="net45"替换为targetframework="net461"吗?我看到一些线程建议卸载,然后通过"update package"命令重新安装包。我今天试过了,但最后还是犯了一些错误。

  • 包装不会自动重新包装,但这是一个自动固定的包装。

    In package manager console simply run:

    1
    Update-Package -Reinstall

    This will force the package manager to reinstall every package in every project(without changing the version of the referenced package).

    通过在新的框架之后重新整理包装,目标是改变所有参数,以正确的版本。

    你也可以用以下手段对付一个单一的项目:

    ZZU1

    我使用了这一技术,用了很多时间来确定无效的参考问题。


    1 Find all CSPROJ files and replace.

    1
    <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>

    1
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>

    开放包装经理控制台与运行

    1
    Update-Package -Reinstall -IgnoreDependencies

    3找到所有的解决办法,然后建立每一个。


    用-

    更新包

    MGX1〔0〕