我不能运行单元测试。

我有下一个错误:

你的项目没有引用“.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标准项目文件到我的构建(我们的目标是很多平台),它产生了在obj文件夹中找到的碎片。当android健全构建来了,它抛出了obj文件夹。我的解决方案是在构建前清理该文件夹。这是一个困难的问题,因为多年来它一直工作得很好……针遇上草堆。

其他回答

重命名项目为我解决了这个错误。问题发生在我创建。net Core项目之后,然后我删除了它,并创建了一个同名的。net Standard项目。Obj文件夹根本不存在。删除bin文件夹,包,清洁和重建解决方案和获得最新的覆盖没有帮助。

我没有尝试过,但是这个线程提出的解决方案是包括在csproj标签中:

<ResolveNuGetPackages>false</ResolveNuGetPackages>
git clean -xdf

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

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

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

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

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

我已经删除了obj文件夹,并在属性窗口中选择所需的目标框架后重新运行构建,它为我工作。