【问题标题】:How do I disable suppressing a warning for one solution in a TFS build如何禁用抑制 TFS 构建中一种解决方案的警告
【发布时间】:2013-03-19 18:49:13
【问题描述】:

我正在使用 TFS 2010 并且有一个 TFS 构建设置来构建我们的软件。一切正常。

但是,我们收到以下警告:

CSC: Assembly generation -- Referenced assembly 'mscorlib.dll' targets a different processor

这是因为我们的某些代码仅标记为 x86,并且它是在 x64 平台上构建的。由于我们链接到的第三方软件,我们无法更改目标平台。 此外,我们的目标是 2.0 框架,此时也无法更改。

所以,我想简单地抑制这个错误。似乎很直截了当。 我只是编辑了 Build 模板,并添加了 /p:NoWarn=1607。这样可行。

但是!

我们有一个用 VB.net 而不是 C# 编写的解决方案。这会导致该解决方案失败并出现以下错误:

vbc: warning number '1607' for the option nowarn is either not configurable or not valid

如何在我的 TFS 构建中禁用抑制该解决方案的此警告? 我尝试在我的 TFSBuild.proj 文件中使用 <customPropertiesForBuild> 标记,但我可能没有正确使用它。

我知道我可以简单地将它添加到我的项目文件中,但我们有 37 个解决方案,每个解决方案都有多个项目文件,所以我真的不想这样做。

【问题讨论】:

  • 您是在 TFSBuild.proj 文件中将解决方案(包括 VB 解决方案)列为 SolutionToBuild 项,还是使用默认构建过程模板并列出解决方案在构建定义中?
  • 它们被列为 SolutionToBuild 项目。
  • 您应该能够在 VB 解决方案的 SolutionToBuild 项上使用 Properties 元数据。例如,请参阅下面的答案。

标签: c# msbuild tfsbuild


【解决方案1】:

我认为您无法控制 TFS 的抑制,因为它是 MSbuild 在构建期间抱怨(而 TFS 只是调用 MSBuild 并收集结果)。

有一个特定的属性告诉 msbuild 忽略这种警告。只需将以下行添加到项目文件中的顶部 Propertygroup 即可生成警告的项目:

<PropertyGroup>
   ...
   <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>

【讨论】:

  • 我尝试将它放在我的 TFSBuild.proj 文件中,但它没有抑制警告。也许你的意思是把它放在那些产生错误的项目文件中?我下次试试。
【解决方案2】:

您应该能够在 VB 解决方案的 SolutionToBuild 项上使用 Properties 元数据将 NoWarn 设置为仅针对该解决方案的空值:

<SolutionToBuild Include="$(BuildProjectFolderPath)/../../MyVbSolution.sln">
  <Targets></Targets>
  <Properties>NoWarn=;</Properties>
</SolutionToBuild>

尝试一下,看看您的 VB 解决方案是否可以无错误地编译。

【讨论】:

  • 是的!这正是我一直在寻找的。谢谢。
【解决方案3】:

您可以在 TFS Build 中向 MSbuild 提供 NoWarn 属性。一个想法也是编辑构建定义,在“进程”选项卡中,探索 Advanced=>MSBuild Arguments,然后在没有 qoutes 的情况下提供此“/p:NoWarn=1607”。当您还对构建进行排队时,在 Parameters Tab=>Advanced=>MSBuild Arguments 中,输入/p:NoWarn=1607。

【讨论】:

  • 这样做确实会抑制错误。问题是这样做会导致 VB 解决方案无法构建。
猜你喜欢
  • 2016-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-09
  • 2016-12-24
  • 2011-03-27
相关资源
最近更新 更多