【问题标题】:Weird Visual Studio 2008 behaviour: build failed, no error message?奇怪的 Visual Studio 2008 行为:构建失败,没有错误消息?
【发布时间】:2009-08-09 13:12:40
【问题描述】:

编辑:这是 VS 2008 而不是 VS 2005。抱歉打错了

尝试在 Visual Studio 2008 上构建两个相当大的项目解决方案(2 个项目:6686 个文件),并确保一切正常后,我的项目无法构建。 VS 通知我构建失败,但它没有告诉我我错了什么!?我尝试了清理、重建、重新启动,几乎所有事情。想法?

EDIT2:问题已解决,但...
我将项目移至另一个目录,然后将其再次移回相同的旧目录,神奇地它起作用了! :S 不知道出了什么问题 :S

【问题讨论】:

  • 它是立即失败还是在构建输出窗口中得到一些输出?
  • 不,它有点短,然后中断。最后要构建的项目是一个 aspx 页面,经过检查,没有任何问题。我机器上的版本与源代码控制上的版本相同[构建完美流畅]。
  • 能否附上截图?
  • 该文件有什么特别之处吗?目录中的第一个/最后一个文件?你可以省略那个文件吗?
  • 2 个项目中的 6686 个文件,这是巨大的!我会从磁盘中删除解决方案,从源代码管理中重新获取并重试。您可能会发现其中一个文件被锁定。解锁工具可以帮助您解决这个问题。

标签: visual-studio-2008


【解决方案1】:

好吧,显然我在以下答案中不知道任何逻辑,但是在我将项目移动到另一个目录然后再​​次将其移回其原始目录后它起作用了。
还是谢谢大家

【讨论】:

  • 我遇到了同样的问题。将所有源文件从原始目录复制到另一个临时目录。新建了一个文件夹。将源文件从临时目录复制到新文件夹。加载了解决方案,现在它可以工作了!我确实注意到视觉工作室在重新加载项目时做了一些额外的事情。也许有一个配置文件被塞住了或什么的。奇怪!谢谢你的想法。
【解决方案2】:

如果您跟踪构建命令(它在输出窗口中)并且看起来像这样,有时您会收到更好的错误消息

E:\Windows\Microsoft.NET\Framework\v3.5\Csc.exe /noconfig /nowarn:1701,1702 /errorrep...blah..blah

然后在命令行手动运行。

此外,输出窗口往往具有更好的信息,即使 Visual Studios 默认行为是在构建失败后显示“错误列表”窗口。

【讨论】:

  • 做不到。构建命令太长,cmd不允许我粘贴那么多评论。
  • 在 Visual C# 2010 Express 中有类似的“构建失败”问题......解决方案也是输出窗口。在菜单中,选择“Debug”=>“Windows”=>“Output”,然后从下拉列表中选择“Build”,您会看到(无论出于何种原因)有时不会出现在错误列表中的构建错误。
【解决方案3】:

如果您使用的是 Javascript 代码或文件 + 这些代码中有错误;

Visual Studio 2005 没有调试它们的能力。但是他们在 Visual STudio 2008 中添加了 Javascript 调试功能。也许你应该在 VS2008 中重新调试它

如果您确定没有 Javascript 错误或者您没有使用 Javascript 代码和文件,Visual Studio Team Edition 有一些不错的*新项目类型。

如果您在当前项目上创建一个新的测试项目,然后添加一个单元测试,那么您很有可能会看到错误。

如果有关于您的项目情况的其他详细信息,请告诉我们

干杯

易卜拉欣·厄索伊

【讨论】:

  • 感谢 Ibrahim 的回复,但我真的不明白 Javascript 错误与构建错误有什么关系!
  • 我是这么想的,但是当涉及到 VS 调试器时,你必须考虑所有事情
【解决方案4】:

当您说清洁时,您的意思是右键单击解决方案并单击清洁解决方案?

您是否尝试过手动从 Bin 文件夹中删除所有构建的 dll,并确保没有其他正在运行的应用程序打开文件。

不确定它是否是 VS 的问题,但文件或文件夹以“。”开头可能会导致问题。例如,如果 SubVersion 未设置为使用“_svn”而不是“.svn”

HTH

【讨论】:

    【解决方案5】:

    尝试将项目根目录移动到驱动器的根目录。我在一个非常大的项目中遇到了一个问题,其中路径长度太长以至于开始引起问题。

    所以而不是:

    c:\My Documents and Settings\user\My Documents\Projects\MyProject
    

    这样做:

    c:\MyProject
    

    【讨论】:

      【解决方案6】:

      您很可能缺少引用,或者您可能引用了未安装在构建服务器上的 GAC 中的某些内容。

      我会首先从我的本地文件系统中完全删除项目,然后从 TFS 强制获取最新以重建项目目录。

      一旦完成,我会尝试构建项目。如果有故障,去修复它。

      如果没有失败,我会查看所有引用的程序集,以确保任何第三方项都没有指向 GAC。 MS 没问题。只要您的机器和构建服务器之间的服务包级别相同。

      如果您仍然没有找到它,我会转到远程处理构建服务器并尝试从安装在其上的 Visual Studio 编译它。

      作为一个潜在的其他问题,如果这是一个 Web 应用程序(不是一个网站),那么我将删除与它中断的页面关联的设计器文件,右键单击 .aspx 文件并选择“转换为 Web application" 这将重新创建设计器文件.. 并为您提供与之相关的任何错误消息。

      【讨论】:

        【解决方案7】:

        我会检查输出窗口并搜索关键字“unable”。当您发现它无法做的事情时,您很可能会知道如何解决它。有时它可能是非常愚蠢的事情,例如引用不存在的代码隐藏文件的 aspx 页面以及诸如此类令人讨厌的东西。

        【讨论】:

          【解决方案8】:

          我发现了问题。毕竟与权限无关。 CSC.exe 具有 Microsoft.VC90.CRT 的依赖程序集。我在 Windows 事件查看器中发现了该错误。所以我安装了 VC++ 2008 运行时,我的应用程序现在可以运行了。我不知道,我认为这应该被 ICE 中的验证步骤捕获。也许 MS 的人应该研究一下,因为这会让很多人陷入困境(包括我自己 :))。

          【讨论】:

            猜你喜欢
            • 2015-09-28
            • 1970-01-01
            • 2013-01-15
            • 1970-01-01
            • 1970-01-01
            • 2015-11-01
            • 2015-11-05
            • 2011-03-22
            • 2011-01-30
            相关资源
            最近更新 更多