我使用最新的框架和工具集在一个只有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"我宁愿尽可能少地定制。
我无法想象我是唯一一个有这个问题的人,所以我希望找到一个已经解决了这个问题的人。
答案 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的一部分)。