升级从.Net Framework 4.5到4.6.1后,Nuget重新定位。

26 浏览
0 Comments

升级从.Net Framework 4.5到4.6.1后,Nuget重新定位。

我有一个包含大约30个项目的.NET解决方案,它们都针对.NET Framework 4.5,并且每个项目引用至少3-4个NuGet包。\n我们现在需要将它们更新到.NET Framework 4.6.1。所以我需要知道以下几点:\n

    \n

  1. 我是否需要重新定位NuGet包,还是可以跳过这一步,因为这是一次“就地”升级?
  2. \n

  3. 如果是,我是否可以通过将每个项目的packages.config文件中的targetFramework=\"net45\"替换为targetFramework=\"net461\"来更新每个NuGet包?我看到一些帖子推荐使用“update-package”命令卸载然后重新安装包。我今天尝试了一下,但遇到了一些错误。
  4. \n

0
0 Comments

在从.NET Framework 4.5升级到4.6.1之后,出现了Nuget重新定位的问题。问题的原因是在升级过程中,Nuget无法正确地重新定位到新的.NET Framework版本。解决方法是使用以下命令:

Update-Package -reinstall

这个命令会重新安装所有的Nuget包,从而解决重新定位的问题。

在升级过程中遇到了这个问题的用户在Stack Overflow上发表了一个解答,并提供了解决方法。然而,这个解答并没有给出任何新的内容,只是重复了之前的解答。为了更好地帮助其他用户解决类似的问题,我们在这里整理了原因和解决方法。

在升级.NET Framework版本时,Nuget可能会遇到重新定位的问题。这可能是由于Nuget无法正确识别新的.NET Framework版本所致。为了解决这个问题,可以使用上述命令重新安装所有的Nuget包。

希望这篇文章能够帮助那些在升级.NET Framework版本时遇到重新定位问题的开发者。

0
0 Comments

问题出现的原因是在从.NET Framework 4.5升级到4.6.1后,NuGet重新定位的问题。为了解决这个问题,我们可以按照以下步骤进行操作:

1. 找到所有的.csproj文件,并将

<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>

替换为

<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>

2. 打开Package Manager Console,并运行以下命令:

Update-Package -Reinstall -IgnoreDependencies

3. 找到所有的解决方案,然后对每个解决方案进行msbuild。

第3步也会自动处理packages.config的第2步。

请解释得更详细一些,你能编辑并展示一下如何操作吗?

如果我跳过第2步,而是在第1步之后立即进行第3步,所有packages.config文件的targetFramework属性都会自动修改为与csproj的新TargetFramework匹配。至少,在我使用nuget.exe版本4.3.0.440升级4.5到4.7时是这样工作的。基本上,这样做可以节省一些手动编辑每个项目的packages文件的工作。

查找并替换工作得很好,但请仔细检查web.config文件的<compilation targetFramework="___">元素,确保将其进行更改。

直接跳过第2步的建议对我来说不起作用。通过只是重新构建所有内容,没有一个packages.config文件被修改。最终我还是使用了完整的Update-Package -Reinstall命令,这个命令有效地解决了问题。

0
0 Comments

原因:升级从.NET Framework 4.5到4.6.1后,NuGet重新定位的问题。

解决方法:使用以下命令重新安装NuGet包来解决问题:

- 在包管理器控制台中运行以下命令:`Update-Package -Reinstall`,这将强制包管理器重新安装每个项目中的每个包,而不会更改引用包的版本。

- 如果只想针对单个项目运行该命令,可以使用以下命令:`Update-Package -Reinstall -ProjectName Project.Name.Here`

- 如果想加快速度,可以添加`-IgnoreDependencies`参数:`Update-Package -Reinstall -IgnoreDependencies`

其中,某些情况下不同的目标包可能具有不同的依赖关系,因此使用`-IgnoreDependencies`参数可能不明智。另外,有人建议使用更具体的命令来重新安装包:`Update-Package Package.Name.Here -Reinstall -ProjectName Project.Name.Here`。

此外,某些情况下如果项目引用了预发布的包,可能会遇到问题,解决方法是添加`-IncludePrerelease`标志。

对于使用Rider的用户,问如何在Rider中获取PackageManagerConsole或在IDE之外的原始命令行/PowerShell中运行此命令。对此暂无具体解答。

0