我不能运行单元测试。

我有下一个错误:

你的项目没有引用“.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)

我该怎么解决呢?


当前回答

在VS2019上,我不得不遵循错误消息并编辑项目。Json文件,在项目目录中。

".NETFramework,Version=v4.0":{} //无论复制的项目设置为什么 现在".NETFramework,Version=v4.7.2":{} //设置为当前版本的设置

其他回答

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

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

我给拉丽莎投了票但我想知道我是怎么走到这一步的可能会有帮助。我添加了一个。net标准项目文件到我的构建(我们的目标是很多平台),它产生了在obj文件夹中找到的碎片。当android健全构建来了,它抛出了obj文件夹。我的解决方案是在构建前清理该文件夹。这是一个困难的问题,因为多年来它一直工作得很好……针遇上草堆。

如果您已经删除了提供nuget包的旧SDK,也会发生此错误,但它仍然在nuget管理器/设置下的包源列表中被引用。删除不再使用的nuget包源来修复此问题。否则,Visual studio在构建时会创建project.assets.json文件,并引用旧的sdk,如果路径不在那里,就会得到OP的错误。 在我的例子中,我的列表中有DevExpress 20.2,我删除了它来解决这个问题。

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

从包迁移。配置到PackageReference

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

在VS2019上,我不得不遵循错误消息并编辑项目。Json文件,在项目目录中。

".NETFramework,Version=v4.0":{} //无论复制的项目设置为什么 现在".NETFramework,Version=v4.7.2":{} //设置为当前版本的设置