199

我有一个包含对 WCF 服务的引用的 WebApplication。

使用 Visual Studio 2010 构建时,构建失败,没有任何错误或警告。但是构建.csproj使用MsBuild是成功的。

无法弄清楚我应该在 Visual Studio 中尝试什么来解决/诊断问题。你能帮忙吗?

编辑:

我发现构建失败了,

  1. 来自状态栏中显示的文本。
    在此处输入图像描述

  2. 从输出窗口:

    ========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========
    
4

39 回答 39

251

Build + Intellisense吞下了错误消息。选择Build Only会显示它们。

截屏

于 2017-12-10T09:16:49.793 回答
159

我刚刚遇到了类似的情况。在我的情况下,出现在 csproj 文件的 BeforeBuild 目标中的自定义操作(来自 Nuget.org 上的 MSBuildVersioning 包 - http://www.nuget.org/packages/MSBuildVersioning/ )失败而没有触发任何错误消息正常的地方。

我可以通过将“MSBuild 项目构建输出详细程度”(在最新的 Visual Studio 的工具选项卡 [路径:工具 > 选项 > 构建和运行])设置为“诊断”来确定这一点,如下所示。这表明自定义操作(在我的情况下为 HgVersionFile)是失败的。

来自 Visual Studio 的屏幕截图,显示了修改后的设置。

于 2014-12-11T14:42:35.703 回答
65
  • 如果解决方案包含多个项目,请尝试一次构建一个。
  • 尝试重新启动 Visual Studio。
  • 尝试重新启动计算机。
  • 尝试“全部重建
  • 尝试“清洁解决方案”,然后删除“ vspscc ”文件和“ vssscc ”文件,然后重新启动 Visual Studio,然后“重建所有”。
于 2014-06-10T12:32:54.783 回答
27

VS(2013 Pro,Win 8.1)重启为我做了。

于 2014-11-06T14:35:29.220 回答
25

删除 .vs 文件夹并重新启动 VS,为我工作

在此处输入图像描述

于 2018-05-05T07:14:03.497 回答
10

我想扩展Sasse 的答案

为了解决 Visual Studio 2015 Update 2 的问题,我必须一次构建每个项目,并在每次构建后查看输出窗口。

一个项目给了我

“命名空间‘BeforeSomeNamespace’中不存在类型或命名空间名称‘SomeNamespace’(您是否缺少程序集引用?)”。

错误列表窗口中没有错误,但程序集在“参考”下有一个黄色警告标志。

然后我看到引用项目的目标是 4.5.1,而被引用的项目是 4.6.1。将 4.6.1 更改为 4.5.1 使整体构建成功。

于 2016-04-16T17:51:19.863 回答
6

似乎这个问题有多个答案,所以我会根据个人经验添加我的答案,希望它可以节省某人的时间/压力。

确保解决方案中的所有项目都针对相同的 .NET 版本。

与 OP 类似,有 0 个错误,但构建一直失败。但是,有一个警告条目(隐藏在数百个无用的 XML 警告之间......)说,一个项目的目标是与引用它的项目不同的 .NET 版本。整个问题是我的解决方案中的一个项目针对 .NET 4.5.2,而其他项目针对的是 4.5.1。即使存在这种差异,它也应该可以工作(因此它只是一个警告),但不幸的是,它破坏了构建。

奇怪的是,它在一段时间内构建/运行良好,但突然构建开始失败一次,导致此问题。不知道我做了什么才开始抱怨不同的 .NET 目标版本,但我觉得 Visual Studio 中存在一些永远无法解决的谜团。

于 2016-11-02T23:03:27.530 回答
5

没有什么对我有用,所以我删除了 .suo 文件,重新启动 VS,清理了投影,然后构建就可以工作了。

于 2016-08-11T19:50:28.920 回答
5

我最近遇到了同样的问题,我也尝试了很多方法,比如重启 Visual Studio、清理并重建解决方案、重启 PC 等。(首先确保解决方案中的所有项目都针对相同的 .NET 版本。)

但显然对我没有任何作用,所以我遵循以下程序;

  1. 在项目中保存挂起的更改并关闭 Visual Studio
  2. 从文件资源管理器中找到确切位置并找到“ obj ”文件并打开它,

在此处输入图像描述

  1. 然后,删除所有包含的文件(有些文件不会删除,没关系,跳过它们)

  2. 使用运行命令(通过按 Windows 键 + R)并键入“%temp%”,然后按 Enter 键查找临时文件。

  3. 最后,全部删除。

这对我有用,希望它适用于你的情况。

于 2020-10-06T14:39:58.463 回答
3

首先“清理解决方案”,然后重建解决方案。

如果不起作用,请关闭解决方案并重新启动解决方案。

试试这些东西,希望绝对有效。

于 2015-12-24T14:15:31.833 回答
3

另一种可能性是 Visual Studio 需要以管理员身份运行,这可能与部署到本地 IIS 服务器或其他部署需要有关。

于 2016-11-16T22:12:48.290 回答
3

当引用的项目之一是比您当前项目更高版本的 .NET 框架时,可能会发生这种情况。

于 2017-01-02T00:26:21.787 回答
3

只是为了完成并可能帮助将来再次遇到相同错误的人,我正在使用 Mahapps Metro 接口并更改了一个窗口的 XAML,但忘记更改代码隐藏中的部分类。在这种情况下,构建失败而没有错误或警告,我可以通过增加设置输出的详细程度来找到它:

错误窗格

输出窗格

于 2017-04-25T08:49:55.733 回答
3

我遇到了同样的问题,我将此问题追溯到错误列表选项“Build + Intellisense”。

如果选择此选项,则列表中不会显示任何错误。切换到“仅构建”,错误按预期出现。

它看起来像 Visual Studio 中的一个错误。重新启动视觉工作室解决了这个问题

于 2018-09-17T15:19:03.063 回答
3

转到输出窗口,在输出窗口中搜索“错误”,TADA

于 2019-03-07T09:13:31.317 回答
3

尝试从 Powershell 命令行构建您的项目:

dotnet build

然后,即使 Visual Studio 正在玩捉迷藏和构建错误消息,您也可以在命令行输出中看到任何错误。

于 2019-08-06T16:10:50.070 回答
3

对我来说,这Target Framework就是问题所在。

我的项目Target Framework4.5.2和引用的项目Target Framework4.6.1.

一旦我将项目更新Target Framework4.6.1,问题就得到了解决。

于 2020-02-05T08:38:15.210 回答
2

在我的解决方案中添加一个新项目(称为“TestCleaner”)后,我遇到了类似的问题:构建失败,没有错误。

我增加了输出的详细程度(参见 Richard J Foster 的说明)并在输出中搜索“失败”。我很快发现了哪个项目失败了,以及为什么:项目“TestRunner”失败,出现“错误CS0246:找不到类型或命名空间名称'TestCleaner'”(即使代码中没有突出显示问题)。

检查 TestRunner 的引用,果然对 TestCleaner 的引用被标记为未解析,并且引用属性中缺少路径。删除和重新添加并没有解决它。再次,没有解释为什么。

未解决的参考

我终于找到了原因:“TestCleaner”使用了与其他项目不同的目标框架。它是.Net 4.5.2;其他是4.5。

于 2016-06-24T03:42:42.990 回答
2

我有同样的问题。错误列表窗口有 2 个下拉菜单“显示包含的项目”和“显示生成的问题”。这些名称在将鼠标悬停在下拉菜单上后可见。“显示生成的问题”下拉菜单设置为“构建 + IntelliSense”,更改为“仅构建”后,错误出现在列表中。

于 2017-05-25T15:36:33.170 回答
2

在我的例子中,我设置Diagnostic了 MSBuild 详细程度,如下所示

Output猜猜看……在Visual Studio 窗口的最后一行中,它显示了以下内容:

2>"C:\Company\Project\project.sharded\Project\Project.csproj" (Rebuild;BuiltProjectOutputGroup;BuiltProjectOutputGroupDependencies;DebugSymbolsProjectOutputGroup;DebugSymbolsProjectOutputGroupDependencies;DocumentationProjectOutputGroup;DocumentationProjectOutputGroupDependencies;SatelliteDllsProjectOutputGroup;SatelliteDllsProjectOutputGroupDependencies;SGenFilesOutputGroup;SGenFilesOutputGroupDependencies target) (1) ->
2>(CoreCompile target) -> 
2>  C:\Company\Project\project.sharded\Project\Services\UserService.cs(387,59,387,62): error CS0136: A local or parameter named 'sut' cannot be declared in this scope because that name is used in an enclosing local scope to define a local or parameter
2>
2>    2147 Warning(s)
2>    1 Error(s)

这看起来像是 Visual Studio 2019 (16.3.5) 中的错误。

Error ListVisual Studio 的窗口中未显示任何错误。

这是通常出现在Error List窗口中的错误类型。

这是违规行:

var sut = _sdb.SysUsableThreads.SingleOrDefault(sut => sut.uid == thread.uid && sut.thread_core == thread.core);

好的。不能使用sut,因为 var 已命名sut,而我将 lambda 命名为sut。同样,这是应该在Error List. 这肯定是 Visual Studio 2019 中的一个错误。我在 Visual Studio 中报告了它。

于 2019-10-17T13:32:29.883 回答
2

使用 Visual Studio 2019,我不得不“以管理员身份运行”,它最终构建好了。所以以管理员身份打开应用程序(鼠标右键单击 - 以管理员身份运行)。

于 2020-03-05T14:07:39.880 回答
1

我遇到了同样的问题!只需删除 bin 文件夹并重新启动您的VS. 就这样。在VS 2013.

于 2017-07-19T01:31:27.213 回答
1

为我解决的问题是.vs从解决方案的根目录中删除文件夹并重新启动 Visual Studio。

同样重要的是,即使错误没有显示在错误列表窗格中,它们仍然存在于构建的输出中。

于 2017-08-28T17:39:42.143 回答
1

在我这边,当我添加一个新项目(库)时我遇到了这个问题

我是如何解决的

右键单击新添加的库转到属性然后应用程序,在应用程序下将目标框架更改为所有项目的框架。

问题是您有使用不同目标框架的项目。

于 2020-03-10T10:12:39.057 回答
0

在将新页面添加到 asp.net 项目后,这发生在我身上。

我所做的是排除页面,让它再次成功构建。

然后我添加了所有代码注释掉的页面。成功。

然后我一点一点地取消注释代码,然后一切正常。

于 2014-07-29T19:25:37.200 回答
0

删除几个表格后我遇到了同样的问题。一旦我进入代码并为我删除的控件之一做了“显示定义”,错误就会弹出。

我还在我的一个项目上瞄准了一个更高的框架,所以这也可能是问题所在。

于 2017-03-17T00:47:37.943 回答
0

我已经尝试了所有方法,但在我的情况下没有任何效果,然后我更改了这些提到的设置,这对我来说很好地解决了这个问题。试试如果它可以帮助后来的观众。这些设置可能因您的情况而异,但请确保使用您最初保留的相同配置设置构建所有包括 DLL(在图像中提到。)。配置设置

图片在这里。

干杯!

于 2017-10-26T04:17:31.703 回答
0

如果安装了 nuget 包“Microsoft.Net.Compilers”,请确保它适合您的 Visual Studio 版本(构建工具版本)。

版本 1.x 意味着 C# 6.0(Visual Studio 2015 和更新)。例如,1.3.2

所以用VS2015的不要升级到1.x以上的版本

https://stackoverflow.com/a/44397905/3862615

于 2018-03-10T19:12:43.750 回答
0

我在旧机器上有一个非常旧的项目。当我关闭机器时,项目正在正确构建。今天,我收到构建错误,但没有错误消息。在尝试了上面的一些建议之后,没有运气。

在 Visual Studio 2015 中,我在TOOLS > Options > Projects and Solutions > Build and Run下打开了详细 MSBuild

它给了我一些关于构建的细节,但没有错误。之后,我尝试检查扩展和更新(工具 > 扩展和更新),发现其中很少需要更新。

Nuget 包是罪魁祸首,更新 Nuget 后 - 构建成功。

在此处输入图像描述

于 2018-03-17T16:14:32.200 回答
0

这可能是由于您的项目和VS中的reportviewer版本不同

于 2018-08-04T14:28:15.570 回答
0

由于一切都不起作用,发现将项目作为解决方案(.sln)打开时不会显示错误,而将项目作为项目打开时会显示错误。

于 2018-08-27T12:49:15.107 回答
0

重新启动 Visual Studio 对我有用。也尝试正常重新启动 Visual Studio(不以管理员身份运行)。尝试重新启动系统并重复上述步骤。

于 2019-06-17T16:19:58.300 回答
0

重现此症状的另一种方法:

我向现有解决方案添加了一个新项目,构建输出报告了诸如“找不到类型或命名空间名称 X...”之类的错误,但错误列表中没有出现任何错误。

我提到的类在同一个解决方案中的其他项目(被引用)中。

原来,我错误地在新项目中选择了早期版本的 .net。一旦我更改为与其他项目相同的版本,一切都没有任何错误。

于 2019-08-15T20:25:24.870 回答
0

我发布此答案是因为即使它非常晦涩,但它对于其他答案来说是独一无二的,并且有人可能会遇到它!

仔细检查 _underscore.aspx 页面

我有一个页面和代码隐藏:

`myPage.aspx` and `myPage.aspx.vb`

在构建项目时,我会在.aspx.vb页面上收到错误,指出页面上定义的属性.aspx不存在,即使页面本身可以正常构建并且输出中没有显示其他错误(即使诊断级别构建输出)。

然后,我在项目中遇到了一个页面,该页面名称相同,但带有下划线:_myPage.aspx- 不确定它来自哪里,我将其删除,并且解决方案构建得很好。

于 2021-07-13T18:49:47.577 回答
0

我曾经遇到过这个问题。确实存在构建错误,但没有显示错误。我通过输出窗口解决了这个问题并找出了错误。

于 2021-07-21T03:35:54.240 回答
0

转到 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE

右键单击devenv.exe并选择疑难解答 Compactibility -> 疑难解答程序

然后选中复选框“程序需要额外的权限”,然后单击下一步。

重新启动机器。

完毕。

于 2021-08-24T09:47:45.437 回答
0

只是让你们知道,如果有人会发现同样的问题。

我有同样的问题,尝试了每个解决方案。

  • 删除临时文件。
  • 删除 .suo <- 这导致 mi XAML 像圣诞树一样显示错误。
  • 重新安装和修复VS。
  • 通过诊断重建和搜索错误。

问题是VS没有以管理员身份运行......所以,你知道:D

于 2021-09-03T11:50:12.627 回答
0

在我的例子中,我复制构建输出,将其粘贴到文本编辑器,然后按 ctrl+f 一些关键短语,如“:错误”。

有时错误列表不会显示这些错误。

于 2021-09-07T06:49:57.440 回答
-1

我有同样的问题,我更改了工具->选项->项目和解决方案/构建和运行-> MSBuild 项目构建日志文件详细程度 [诊断]。此选项在日志中显示错误,由于某些原因,我的 VS 在错误选项卡中没有显示错误!

在此处输入图像描述

在记事本/文本编辑器中执行上述设置和输出副本并搜索错误。它会显示所有错误。

于 2018-09-28T06:37:20.030 回答