Visual Studio 2010说,在更改源文件后,Build失败且没有错误

时间:2011-02-21 15:47:49

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

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

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

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

我错过了什么吗?

17 个答案:

答案 0 :(得分:109)

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

答案 1 :(得分:20)

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

我有一个尚不存在的函数的引用。我不知道为什么它从未出现在错误列表中,但是“输出”窗口告诉我确切的问题所在。

答案 2 :(得分:13)

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

答案 3 :(得分:8)

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

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

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

答案 4 :(得分:3)

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

答案 5 :(得分:2)

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

所需命令应标记为“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

如果您没有看到,请尝试在工具 - >选项 - >项目和解决方案 - >构建和运行下更改构建输出设置,将“MSBuild项目构建输出详细程度”设置为“正常”或更高。 / p>

答案 6 :(得分:1)

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

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

答案 7 :(得分:1)

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

转到工具 - >选项 - >项目和解决方案 - >常规,请务必选中方框"如果构建完成但出现错误,请务必显示错误列表",在这种情况下,视觉工作室将显示错误列表。

答案 8 :(得分:0)

有时,如果目录路径超过248个字符,它将使解决方案失败。 确保完整的路径比这还短。我遇到的问题比我做的简短,而且确实对我有用。

问候 Venkateshwarlu, MSBI开发人员, 海得拉巴。

答案 9 :(得分:0)

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

答案 10 :(得分:0)

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

答案 11 :(得分:0)

我今天也遇到了这个问题......在将构建的详细程度改为像@Jac建议的诊断之后,我发现问题依赖于我的一个resx文件。显然,一张图片被破坏或太大了,我将其删除并且有效!

答案 12 :(得分:0)

在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>
    

        

  4. 将项目重新加载到解决方案后,VS添加了完全相同的行AGAIN,但现在没有LoaderException问题。

答案 13 :(得分:0)

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

单独构建项目,

检查哪个项目失败

该项目的

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

这将起作用

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

这可能是由于文件损坏

答案 14 :(得分:0)

我的问题源于将功能性vs2008项目转换为vs2010。解决方案中的所有其他项目都很好,但是这个项目将构建MIDL部分,然后停止并失败。详细的构建设置没有显示任何内容,所以最后我创建了一个全新的项目,所有文件都相同。这很有效。然后我比较了设置,最后在更改各个部分以匹配之后,我发现转换后的项目有MIDL-&gt; General - &gt; “MkTypeLib兼容”设置为空白。这显然是vs2008中的有效设置,但在vs2010中,显然必须设置为Yes或No(或继承)。

这解决了我的问题。

答案 15 :(得分:0)

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

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

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

<小时/> 附:我后来在网站的母版页代码隐藏中发现了一个错误(引用了已被删除的枚举值),这个错误没有被显示为错误。我之前在主页代码隐藏原因(显然)无关的问题上有错误;当一个简单的解决方案没有出现时,我会记得检查那里。

答案 16 :(得分:0)

在我的情况下,我没有在输出窗口中看到Code Contracts错误:

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在代码合同窗口中禁用缓存结果解决了这个问题。