【问题标题】:Silverlight project builds in VS2008 but fails when using MSBuildSilverlight 项目在 VS2008 中构建,但在使用 MSBuild 时失败
【发布时间】:2010-03-25 16:22:25
【问题描述】:

我们在同一个解决方案中有 2 个 Silverlight 项目; SLGlobalResource 和 SLData。 SLData 引用 SLGlobalResource(使用引用 > 添加引用 > 项目)。

当我们在 VS2008 中调试构建它时,一切都构建良好,一切都很好。

但是当我们使用以下方法构建它时:

msbuild TheSolution.sln /p:Configuration=Debug /t:rebuild

SLData 失败并出现以下错误:

ViewModels\ImportViewModel.cs : error CS0246: The type of name space "SLGlobalResource" could not be found (are you missing a using directive or an assembly reference?)

这也发生在 TeamCity 中(我猜是因为 TeamCity vs2008 运行器使用 MSBuild)

有什么想法吗?

谢谢

编辑:

解决方案中实际上共有 33 个项目。我以前不认为这是相关的,但现在我认为它可能是 - 这可能是构建订单的事情吗?

编辑 2:

我发现如果我使用 '/t:build' 参数而不是 '/t:rebuild' 参数,则使用 msbuild 构建会成功,这几乎证实了它是构建顺序的事情。我尝试指定正确的配置(调试)和平台(x86),并确保所有引用都是项目引用,但仍然没有运气。我想我必须编写一个构建脚本来以正确的顺序显式构建这些并使用它,除非有人有更好的想法?

干杯

【问题讨论】:

  • 听起来很合理,它可能是一个订购的东西。你是用一个线程还是多个线程构建?
  • 如果这是您的意思,我没有在 MSBuild 中使用 '/m' 参数。我不知道有任何其他设置可以切换它。

标签: visual-studio-2008 silverlight msbuild


【解决方案1】:

在某些情况下,MSBuild 可能会以意想不到的顺序构建事物。

我遇到了这个问题,发现以下知识库文章很有帮助:

http://support.microsoft.com/kb/964125/EN-US

【讨论】:

    猜你喜欢
    • 2019-06-18
    • 2010-11-25
    • 2018-05-06
    • 2018-10-12
    • 2020-12-06
    • 1970-01-01
    • 2014-04-16
    • 2018-09-20
    • 1970-01-01
    相关资源
    最近更新 更多