【问题标题】:visual studio 2005: skipping builds for unknown reason?Visual Studio 2005:出于未知原因跳过构建?
【发布时间】:2010-10-10 15:55:01
【问题描述】:

我有一个包含多个项目的 Visual Studio 解决方案。 配置管理器经过精心配置,可以构建除一个之外的所有项目(跳过的是测试项目)。在命令行中构建解决方案后,我得到以下信息:

"构建 XXX 调试|x64"

------ 跳过构建:项目:AAA ------

------跳过构建:项目:BBB,配置:调试 Win32 ------

未选择为此解决方案配置构建项目

------构建开始:项目:CCC,配置:YYY Debug ia64 ------

如您所见,项目 BBB 被跳过,因为它未在配置管理器中选择,项目 CCC 和其余构建正常,项目 AAA 被跳过,没有给出原因。任何人都知道为什么视觉工作室可能会无缘无故地跳过项目构建?所有配置名称(XXX、YYY Debug、Debug)和平台(x64 / Win32 / ia64)都在配置管理器中正确配置。

【问题讨论】:

标签: visual-studio visual-studio-2005


【解决方案1】:

是否为配置 Debug|x64 选择了 AAA 项目?

当新下载的解决方案(没有 .soa 文件)的默认配置为 Itanium 时,我也遇到了同样的情况,因此所有没有其支持的系统都将跳过所有要构建的解决方案项目。只有在手动选择 win32 后才能正确构建。

【讨论】:

  • 是的,为“Debug|x64”选择了 AAA 来构建“AAA Debug|ia64”。它完美地构建在 IDE 中。
  • 好的。你如何用命令行编译你的解决方案?使用 devenv.exe /.. 或 msbuild.exe /.. ?
  • devenv.exe,它与vs2005捆绑在一起
  • devenv IS VS2005 :) 使用 msbuild!这是 Microsoft 的适当批处理生成器。它是免费且最受支持的。使用 devenv 不是好主意,不是最佳实践,也不是专业人士应该做的事情
【解决方案2】:

使用 MSBUILD.exe 从命令行运行项目并设置日志记录(详细程度)参数 = 详细或诊断。然后你应该让我得到更多的输出,告诉你为什么 msbuild 考虑跳过有问题的那个。例如

msbuild XXXX.csproj /verbosity:detailed

铌。诊断输出非常非常冗长

【讨论】:

  • 不幸的是,由于公司政策,我仅限于 devenv.exe。它没有 /verbosity 命令行键 :(
  • 设置环境变量:verbosity=diag
【解决方案3】:

Visual Studio 中的正常构建是增量的:如果 Visual Studio 认为没有任何源文件被更改,它将跳过构建项目 - 请注意,它只检查代码文件,而不是资源或其他“东西”。

尝试通过选择Build|Clean Solution 然后Build|Rebuild Solution 进行干净的构建,看看是否得到相同的结果。

您可能需要手动清理每个项目的构建工件(默认情况下,每个项目目录中的 \Bin\\Obj\ 子目录)。

【讨论】:

  • 我正在使用 /clean 和 /build 构建过程很简单:创建临时文件夹,从 sourcesafe 获取最新版本的解决方案和项目,执行构建,删除临时文件夹。没有中间工件、缓存等可以存活。
猜你喜欢
  • 2019-05-30
  • 2010-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-31
  • 2010-09-15
相关资源
最近更新 更多