gpt4 book ai didi

.net - 如何使用 TFS Build 构建 VS2010 MakeFile 项目 (vcxproj)(无 VS 2010)

转载 作者:行者123 更新时间:2023-12-03 14:52:44 25 4
gpt4 key购买 nike

我有一个在 VS 2008 中构建良好的项目,然后我们安装并开始使用 TFS Build,然后我们升级到 TFS 2010。一切仍然很好并且构建正确(在我实现我们的新构建过程后,一切都变得非常好从任何远程 Visual Studio 2010 客户端单击构建启动)。不需要在 Build Agent 上安装 Visual Studio。我非常努力地(非常努力地)尝试不在构建代理上安装 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 项目运行 .NET 4.0 SDK 工具,如 svcutil,但似乎没有安装这个构建想要的东西。 TFS 构建给我的错误是:

C:\TFSBld[...]\GenerateLanguage\GenerateLanguage.vcxproj(46,3): error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.



当我单击该错误时,它会将我带到 vcxproj 文件中的这一行:
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

在这个项目中我真正需要做的就是运行 resgen 从 resx 文件生成资源文件,并将它们编译成卫星程序集。我正在使用 makefile 构建来执行此操作,手动运行 resgen(我认为这是因为我找不到以任何其他方式将卫星程序集编译为独立解决方案的方法),然后将它们编译成 DLL(我现在不记得它是如何工作的,但我认为它是手动运行 AL.exe 以从资源文件编译 DLL 文件)。所以基本上我只需要运行命令行来构建这个项目,我似乎无法找到一种合理的方法来做到这一点,而不会抛出整个项目并编辑 TFS 构建脚本来运行一堆硬编码的命令行反而。必须有更好的方法。

我一整天都在做这个,并尝试编写我自己的 .targets 文件和 .xml 属性表来代替标准文件,但它超出了我的头脑。我尝试简单地删除这些行,但是 MSBuild 提示说没有“Build”目标。我尝试在 vcxproj 文件中添加一个虚拟对象,但它似乎没有运行所有工作完成的构建前和构建后步骤。

最佳答案

Microsoft Windows SDK 7.1 有几个安装选项。仅检查“.NET 开发”子“工具”显然不足以构建 vcxproj 项目,即使它们不包含任何 C++ 代码(仅构建前和构建后步骤)。添加“Visual C++ compilers”选项并完全选中“Intellisense and Reference Assemblies”复选框将安装必要的文件和设置。我不确定两者是否都需要,但这种组合确实对我有用。

关于.net - 如何使用 TFS Build 构建 VS2010 MakeFile 项目 (vcxproj)(无 VS 2010),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4742325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com