MsBuild error MSB1025 - System.Threading.Tasks.Dataflow not found(继假生成问题)
MsBuild error MSB1025 - System.Threading.Tasks.Dataflow not found (following fake generation problems)
我在我们的 Team Build 服务器上使用的标准 MSBuild.exe
有问题,使用的标准版本在
- "C:\Windows\Microsoft.NET\Framework\v4.0.30319",版本 4.0.30319.18408 或
- "C:\Windows\Microsoft.NET\Framework64\v4.0.30319"分别(相同版本)。
使用此版本会导致 Fake
dll 的生成方式与我们本地开发机器的生成方式不同(即服务器上缺少一些伪造的方法),导致构建(单元测试)损坏TFS.
我更新了构建定义模板以使用位于 "C:\Program Files (x86)\MSBuild.0\Bin" 下的 MSBuild
版本,因为它更新(版本 12.0.30723.0),但是,这会导致错误 MSB1025
, System.Threading.Tasks.Dataflow, Version=4.5.9.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 未找到。
更新
进一步调查 - 手动将具有正确版本号的 System.Threading.Tasks.Dataflow.dll
添加到 MSBuild
目录会导致构建中断
不支持的工具版本 12.0
手动将 Microsoft.TeamFoundation.Build.Workflow.Acitvities.MSBuild
元素中的 ToolVersion
设置为 "4.0"
会导致构建中断
无法设置未知成员"Microsoft.TeamFoundation.Build.Workflow.Activities.MSBuild.ToolVersion"
所以...没有真正的改善。
有什么解决办法吗?
Fakes
对 Visual Studio 版本敏感。尝试将 /p:VisualStudioVersion=12.0
传递给 MSBuild 参数。还要避免手动处理 System.* 程序集。
我在我们的 Team Build 服务器上使用的标准 MSBuild.exe
有问题,使用的标准版本在
- "C:\Windows\Microsoft.NET\Framework\v4.0.30319",版本 4.0.30319.18408 或
- "C:\Windows\Microsoft.NET\Framework64\v4.0.30319"分别(相同版本)。
使用此版本会导致 Fake
dll 的生成方式与我们本地开发机器的生成方式不同(即服务器上缺少一些伪造的方法),导致构建(单元测试)损坏TFS.
我更新了构建定义模板以使用位于 "C:\Program Files (x86)\MSBuild.0\Bin" 下的 MSBuild
版本,因为它更新(版本 12.0.30723.0),但是,这会导致错误 MSB1025
, System.Threading.Tasks.Dataflow, Version=4.5.9.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 未找到。
更新
进一步调查 - 手动将具有正确版本号的 System.Threading.Tasks.Dataflow.dll
添加到 MSBuild
目录会导致构建中断
不支持的工具版本 12.0
手动将 Microsoft.TeamFoundation.Build.Workflow.Acitvities.MSBuild
元素中的 ToolVersion
设置为 "4.0"
会导致构建中断
无法设置未知成员"Microsoft.TeamFoundation.Build.Workflow.Activities.MSBuild.ToolVersion"
所以...没有真正的改善。
有什么解决办法吗?
Fakes
对 Visual Studio 版本敏感。尝试将 /p:VisualStudioVersion=12.0
传递给 MSBuild 参数。还要避免手动处理 System.* 程序集。