【问题标题】:Build succeeds even though the editor shows errors and and installation of NuGet package fails即使编辑器显示错误并且 NuGet 包的安装失败,构建也会成功
【发布时间】:2018-05-04 23:16:02
【问题描述】:

在 Visual Studio 2017 中,我有一个包含以下项目的解决方案:

My.Project
My.Project.Commons
Test.My.Project
Test.My.Project.Commons

Test.My.Project 的一个测试文件中,我有这样的声明:

using My.Project.Commons;

如果我将鼠标悬停在它上面,它会显示以下错误消息:

命名空间中不存在类型或命名空间名称“Commons” 'My.Project'(您是否缺少程序集引用?)

但是,如果我清理并构建(或清理并重建)解决方案,则不会出现错误。

当我尝试安装 NuGet 包时,我得到了同样的错误:

命名空间中不存在类型或命名空间名称“Commons” 'My.Project'(您是否缺少程序集引用?)

那么为什么我的构建成功了?

我认为我的 Test 项目没有正确构建,因为我无法运行任何测试。

然而,在另一个解决方案中,我可以毫无问题地运行测试,所以我怀疑整个 Visual Studio 是否存在问题(仅与我当前的项目有关)。

我试过了:

  1. 重新启动 Visual Studio。
  2. 从解决方案中删除所有项目并将它们添加回来。

但这些都不起作用。

【问题讨论】:

  • 您检查了 MSBuild 日志吗?尝试使用 MSBuid 命令行工具构建您的解决方案?
  • 不,因为据我了解,在托管代码项目中,MSBuild 日志与 Visual Studio 的“输出”窗口相同。在 Visual Studio 的输出窗口中,没有显示任何错误

标签: c# .net visual-studio visual-studio-2017


【解决方案1】:

如果您正在使用 resharper,请暂停并恢复 resharper,它将刷新缓存

如果你进入 VS options resharper 你会发现选项

【讨论】:

  • 我在 Tools->OptionsHelp->Microsoft Visual Studio 中找不到 ReSharper。我确实在几个月前安装了它。我不确定它发生了什么。
  • 这可能是免费试用版,所以它不再活跃了。无论如何,构建了另一个解决方案,所以我认为 ReSharper 不会导致这种情况。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-24
  • 2021-06-21
  • 1970-01-01
  • 2017-01-08
  • 1970-01-01
相关资源
最近更新 更多