我不能运行单元测试。

我有下一个错误:

你的项目没有引用“.NETFramework,Version=v4.6.2” 框架。在。net framework,Version=v4.6.2中添加一个引用 “TargetFrameworks”属性,然后重新运行NuGet 恢复。

在app.config:

<startup>
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
</startup>

在项目>属性>应用>目标框架(。NET Framework 4.6.2)

我该怎么解决呢?


当前回答

我在。net 4.71中遇到了同样的问题。在我的例子中,我只是从包迁移。配置为“包引用”

从包迁移。配置到PackageReference

…它解决了我的问题。对于我来说,我无论如何都要这样做,所以如果您已经这样做了,我就跳过上面的步骤,迁移到包引用。

其他回答

我在CI/CD过程中遇到了同样的问题,当我将。net框架版本从4.6.1升级到4.7.2时,无需任何其他修改即可在本地正常工作。

然而,jenkins的“奴隶”节点实际上生成的构建在nuget恢复方面有一些问题,由于某种原因,它无法选择最新的构建。

登录到jenkins的从机/节点(基本上是jenkins用来创建构建/工件的机器),转到部署路径,然后尝试删除项目的旧构建以及.nugets文件夹,并触发CI/CD进程再次为我工作。

请做下一步

清洁解决方案 清洁文件夹“包” 删除文件夹“bin” 删除文件夹"obj"

我在。net 4.71中遇到了同样的问题。在我的例子中,我只是从包迁移。配置为“包引用”

从包迁移。配置到PackageReference

…它解决了我的问题。对于我来说,我无论如何都要这样做,所以如果您已经这样做了,我就跳过上面的步骤,迁移到包引用。

git clean -xdf

这样应该可以了。这在Jenkins中也适用。(我们只是用一个修改过的脚本重播了失败的构建,首先运行git clean)。

出于某种原因,MSBuild / Visual Studio在切换针对不同版本的。net框架的分支时感到困惑,所以我不得不在分支之间切换时定期进行git清理。

在VS2017中打开VS2015项目时,我就遇到了这种情况。从obj文件夹中删除project.assets.json就可以了。

无论如何,该消息的框架在文件中丢失了,我没有添加它,尽管删除了它。