Blu*_*kMN 16 .net msbuild visual-studio-2010 tfsbuild tfs2010
我有一个在VS 2008中正常构建的项目,然后我们安装并开始使用TFS Build,然后我们升级到TFS 2010.一切都很好并且构建正确(在我实现新的构建过程之后,使一切都非常好从任何远程Visual Studio 2010客户端单击构建启动).Visual Studio不需要安装在Build Agent上.我非常努力(非常努力)不在构建代理上安装Visual Studio,因为我的理解是没有必要,并且我们没有许可将它安装在非开发机器上.
现在我尝试将解决方案升级到VS 2010,仍然针对.NET 3.5,因为它是针对SQL Server CLR过程的程序集,而SQL Server还不支持.NET 4.0.但我根本无法在TFS Build下进行构建.我似乎无法从TFS Build和MS Build命令行获得一致的错误消息,但我认为它与Microsoft.Cpp.Targets不在C:\ Program Files\MSBuild \中有关,因为我没有没有安装Visual Studio.我确实安装了Microsoft Windows SDK 7.1,这样我就可以为其他一些.NET 4.0项目运行像svcutil这样的.NET 4.0 SDK工具,但似乎没有安装这个构建所需的东西.TFS构建错误给我的是:
C:\ TFSBld [...]\GenerateLanguage\GenerateLanguage.vcxproj(46,3):错误MSB4019:找不到导入的项目"C:\ Microsoft.Cpp.Default.props".确认声明中的路径是否正确,以及该文件是否存在于磁盘上.
当我点击该错误时,它会将我带到vcxproj文件中的这一行:
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
Run Code Online (Sandbox Code Playgroud)
我真正需要在这个项目中运行resgen来从resx文件生成资源文件,并将它们编译成sattelite程序集.我正在使用makefile构建来执行此操作,手动运行resgen(我认为这是因为我无法找到将sattelite程序集编译为独立解决方案的方法),然后将它们编译成DLL(I不记得现在怎么工作,但我认为是手动运行AL.exe从资源文件编译DLL文件).所以基本上我只需要运行命令行来构建这个项目,我似乎找不到合理的方法来做到这一点而不抛弃整个项目并编辑TFS构建脚本来运行一堆硬编码的命令行代替.必须有一个更好的方法.
我整天都在这里,并尝试编写我自己的.targets文件和.xml属性表来取代标准文件,但它已经超出了我的想象.我试过简单地删除这些行,但是然后MSBuild抱怨没有"Build"目标.我尝试在vcxproj文件中添加一个虚拟对象,但是它似乎没有运行完成所有工作的构建前和构建后步骤.
Blu*_*kMN 15
Microsoft Windows SDK 7.1有几个安装选项.仅检查".NET开发"子项"工具"显然不足以构建vcxproj项目,即使它们不包含任何C++代码(仅在构建前和构建后步骤).添加"Visual C++编译器"选项并完全选择"智能感知和参考组件"复选框将安装必要的文件和设置.我不确定两者是否都是必要的,但这种组合对我有用.
| 归档时间: |
|
| 查看次数: |
8291 次 |
| 最近记录: |