【问题标题】:Visual Studio 2010 says Build failed with no errors after I change a source fileVisual Studio 2010 说在我更改源文件后构建失败且没有错误
【发布时间】:2011-07-01 09:07:44
【问题描述】:

我有一个包含几个项目的 Visual Studio 2010 解决方案。我可以使用 Build -> Build Solution 或 Build -> Build MyCompany.MyProduct.MyProject 成功构建。构建后,我按 CTRL+F5 并成功运行启动项目。这按预期工作。

更改源文件后,保存它,然后再次构建(使用构建 -> 构建解决方案或构建 -> 构建 MyCompany.MyProduct.MyProject)它成功构建。我仍然可以按 CTRL+F5 并运行启动项目。这再次按预期工作。

问题出在以下场景: 更改源文件后,保存并直接按 CTRL+F5 然后 Visual Studio 2010 显示 BUILD FAILED 并且没有错误。而且它不会启动我的启动项目(当然)。

我错过了什么吗?

【问题讨论】:

  • 如果该错误持续发生,清理项目并重建可能不会受到伤害。如果这是你所有的项目,那么这将意味着我没有能力诊断出一个潜在的问题。
  • 将输出窗口的内容复制并粘贴到您的问题中。
  • 我关闭并重新打开了 Visual Studio,还删除了一些项目的输出文件夹(其中 3 个已共享),问题就消失了。我认为它会重新出现,我将粘贴输出窗口的内容。
  • Gopi 的回答帮助...将文件复制到路径长度较短的不同文件夹中。

标签: visual-studio-2010 visual-studio build


【解决方案1】:

关闭 Visual Studio,删除解决方案的 .suo 文件。它是 Windows 中的“隐藏文件”,包含用户首选项,但它也可以做一些讨厌的事情。

【讨论】:

  • 从 tfs 下载的项目在一个新的盒子上,不会编译,没有错误显示,删除 suo,构建正常
  • 对我不起作用。我不得不在同一解决方案中删除对项目的引用,然后再次添加。然后就成功了!
  • 供将来参考,它是 VS 2015 中的 .user 文件,但对我来说也同样有效。谢谢。
  • 对于 Visual Studio 2015,我删除了 .vs 目录,然后它就开始工作了。
【解决方案2】:

似乎有点晚了,但对我有用的是检查我的输出窗口。

我引用了一个尚不存在的函数。我不知道为什么它从来没有出现在错误列表中,但是输出窗口告诉我问题出在哪里。

【讨论】:

  • 在调试菜单下找到输出窗口。
  • 是的,这对我有用 - 缺少的 #endregion 没有出现在错误中,但在输出中可见。谢谢 Ortund。
【解决方案3】:

尝试通过更改编译/运行的位置来重复相同的步骤。确保与旧位置相比,新位置需要遍历的文件夹更少。通往源代码的漫长路径导致了与我类似的问题,我通过选择更短的路径来克服它。

【讨论】:

  • 这对我有用。随着时间的推移,文件夹名称越来越长,没有任何后果。
  • 你为我节省了几个小时,我从没想到会从其他地方构建它。
  • 谢谢!这为我解决了:) 花了一段时间试图找出问题所在,有点烦人的 VS 没有说明问题。
【解决方案4】:

我关闭了我的视觉工作室。

删除了每个 bin 文件夹。 (我有一个奇怪的权限错误,所以我删除了文件并回溯删除了包括 bin 在内的文件夹)。

重新打开视觉工作室。执行构建或重建,一切都恢复正常。

【讨论】:

    【解决方案5】:

    检查您的项目物理路径,如果是长,将项目复制到某个名称非常短的根目录文件夹。 并尝试构建您的项目。

    【讨论】:

      【解决方案6】:

      我遇到了这个问题并收到了一个警告,但找不到任何错误。最终,我将构建命令从输出窗口复制到一个命令窗口并手动运行它——它在警告后吐出四个错误。我不知道为什么会这样。

      所需的命令应标记为“CoreCompile”,如下所示:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe /noconfig /nowarn:1701,1702,2008 /nostdlib+ /errorreport:prompt /warn:4 /define:TRACE;SILVERLIGHT;WINDOWS_PHONE /errorendlocation /preferreduilang:en-US /highentropyva- /reference:"C:\Dropbox\code

      如果您没有看到它,请尝试在 Tools->Options->Projects and Solutions->Build and Run 下更改构建输出设置,将“MSBuild project build output verbosity”设置为 Normal 或更高。

      【讨论】:

        【解决方案7】:

        如果其他人遇到此问题(我曾尝试先删除 SUO 文件,但这对我不起作用):

        我通过在我的解决方案中创建一个空白的新项目并将所有源文件导入新项目来解决它。问题可能存在于项目文件中。

        【讨论】:

          【解决方案8】:

          我遇到了同样的问题,通过以下步骤解决了

          转到工具->选项->项目和解决方案->常规,确保选中“如果构建完成时出现错误则始终显示错误列表”框,在这种情况下,Visual Studio将显示错误列表。

          【讨论】:

            【解决方案9】:

            在我的例子中,我没有在输出窗口中看到代码合同错误:

            CodeContracts: xxx: Unhandled Exception: System.IO.FileNotFoundException:
            Could not load file or assembly 'System.Data.SqlServerCe, Version=3.5.1.0,
            Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies.
            The system cannot find the file specified.
            

            按照in this answer 的建议,我通过在该项目的代码合同窗口中禁用 缓存结果 解决了这个问题。

            【讨论】:

              【解决方案10】:

              当我遇到此问题时,我正在处理一个引用库项目(在同一解决方案中)的网站项目。编辑器突出显示语法并导航到源代码时构建失败。非常沮丧。

              其他答案都不适合我;我认为this issue 可能与我最近在这台机器上第一次使用 DBML 相关。仍然不能完全确定这不是促成因素。

              在清理解决方案、临时文件、重新启动 VS 等之后,我最终排除了 2 个有问题的文件,这使得解决方案能够成功构建,然后当我再次包含它们时,一切都正确构建。


              p.s.后来我在网站的母版页代码隐藏中发现了一个错误(引用了一个已删除的枚举值),该错误没有显示为错误。我以前在母版页代码隐藏中遇到错误,导致(显然)不相关的问题;当一个简单的解决方案没有出现时,我试着记住在那里检查。

              【讨论】:

                【解决方案11】:

                我的问题来自将功能性 vs2008 项目转换为 vs2010。解决方案中的所有其他项目都很好,但是这个项目会构建 MIDL 部分,然后停止并失败。详细的构建设置什么也没显示,所以最后我创建了一个所有文件都相同的全新项目。这行得通。然后对比了一下设置,最后把各个部分改成匹配后,发现转换后的项目MIDL->General->“MkTypeLib Compatible”设置为空白。这显然是 vs2008 中的有效设置,但在 vs2010 中,它显然必须设置为是或否(或继承)。

                这解决了我的问题。

                【讨论】:

                  【解决方案12】:

                  如果您的解决方案包含太多项目,

                  单独构建项目,

                  检查哪个项目失败了

                  对于该项目,检查该项目的引用,如果在任何引用上如果它们是黄色标记,则删除该引用,然后再次添加,然后构建并检查,

                  这会起作用

                  检查输出窗口,每一行,在某些行中它可能会显示,依赖是他们的,但没有找到它,这是导致问题的原因

                  这可能是由于文件损坏

                  【讨论】:

                    【解决方案13】:

                    在 VS 2013 中处理 Sharepoint 2013 工作流时遇到此问题。要解决此问题,请执行以下操作:

                    1. 卸载 worklfows(有问题的)项目。
                    2. 删除 .csproj.user 文件
                    3. 在记事本中打开 .csproj 文件并删除以下行:

                       <PropertyGroup>
                        <VisualStudioVersion Condition="'$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '11.0'">11.0</VisualStudioVersion>
                       <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
                      

                    在 RELOADING 项目进入解决方案后,VS 再次添加了完全相同的行,但现在没有 LoaderException 问题。

                    【讨论】:

                      【解决方案14】:

                      我今天也遇到了这个问题......在像@Jac 建议的那样将构建的详细程度更改为诊断之后,我发现问题出在我的一个 resx 文件中。显然,一张图片已损坏或太大,我删除了它并且它有效!

                      【讨论】:

                        【解决方案15】:

                        两天前我遇到了这个问题。我检查了 Windows 输出,发现缺少对 VBIDE 的引用:找不到类型库 VBIDE 的包装程序集。我在解决方案资源管理器中显示了所有文件,扩展了引用,我发现有对该程序集的引用。我不知道那个参考是如何进入我的项目的,我确信我不需要它。我刚刚删除它,一切都已修复。

                        【讨论】:

                          【解决方案16】:

                          要检查的另一件事是,如果您的任何源文件打开,它将无法构建。我不得不重新启动计算机。

                          【讨论】:

                            【解决方案17】:

                            有时,如果目录路径超过 248 个字符,解决方案将失败。 确保完整路径小于那个值。我遇到的问题与我做的短,它确实对我有用。

                            问候 文卡特什瓦鲁, MSBI 开发人员, 海得拉巴。

                            【讨论】:

                            • 这个答案与其他答案(尤其是接受的答案)有何不同?
                            猜你喜欢
                            • 1970-01-01
                            • 2015-09-28
                            • 1970-01-01
                            • 1970-01-01
                            • 2012-08-12
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 2015-11-01
                            相关资源
                            最近更新 更多