使用MsBuild(VS2015)构建期间TlbExp / TlbImp的路径

时间:2016-02-22 07:35:57

标签: c# msbuild alm

我使用最新的框架和工具集在一个只有VS2015和buildagent的干净构建机上切换了一些解决方案来构建。

对于所有vc项目,路径变量" TargetFrameworkSDKToolsDirectory"符合我的需要。它看起来像这样:

"$(TargetFrameworkSDKToolsDirectory)tlbimp.exe" $(TargetPath) /verbose /strictref /asmversion=$(Version) /out:$(DropLocation)

但是对于c#-projects我找不到任何解决方案。之前的解决方案看起来像这样:

"$(WindowsSDKDir)\bin\NETFX 4.0 Tools\tlbexp" $(TargetPath) /out:$(ProjectDir)\bin\$(ConfigurationName)\$(TargetName).tlb

但是构建机器并不知道" WindowsSDKDir"或" FrameworkSDKdir"我宁愿尽可能少地定制。

我无法想象我是唯一一个有这个问题的人,所以我希望找到一个已经解决了这个问题的人。

2 个答案:

答案 0 :(得分:4)

我发现满足我需求的最佳解决方案是在buildmachine上安装Windows SDK并使用TargetFrameworkSDKToolsDirectory进行c#和c ++项目。

答案 1 :(得分:0)

我正在使用:

high resolution

这不仅可以在Visual Studio中使用,而且如果使用msbuild构建...

我不建议使用:

call "$(VS140COMNTOOLS)vsvars32.bat" 
tlbexp.exe "$(TargetPath)" /out:"$(SolutionDir)CommonFiles\$(TargetName).tlb"

因为它只能在Visaul Stuio内部使用,但会因msbuild而失败......

确保已安装Windows SDK(Visual Studio的一部分)。