gpt4 book ai didi

tfs - 如何获得 .net 标准 2.0 项目以在 TFS2015 上构建

转载 作者:行者123 更新时间:2023-12-04 14:09:16 24 4
gpt4 key购买 nike

我在 .net 4.7.1 网络解决方案中有一个 .net 标准 2.0 类库。

在本地构建解决方案工作正常,但当 TFS 服务器构建解决方案时,它无法编译 .net 2.0 标准库。它在编译期间崩溃并提示 system.object 等未定义或导入。

它是运行旧的 tfsbuild.proj 样式 xml 文件的 TFS 2015。构建服务器是最新的 .net 4.7.1、最新的 .net core 2.0.3、最新的 visual studio、最新的构建工具。

我可以看到它生成了一个 csc.exe 命令来编译崩溃的 .net 标准 2.0 项目。如果我只是运行“dotnet build”,效果会很好。

查看构建日志,我可以看到在 VS 或“dotnet build”中运行时的 CoreCompile 步骤包含一个“References”任务参数,其中引用了 .net standard 2 库。当构建服务器运行构建时,CoreCompile 步骤中缺少此任务参数。

有没有人建议如何最好地继续在 tfs 服务器上获取 msbuild 以成功编译 .net 标准 2.0 项目?

我能否让 msbuild 生成必要的“References”任务参数?

我最好的选择是关闭 .net 标准项目的自动构建并尝试使用“dotnet build”手动完成所有构建步骤,因为 dotnet build 正确识别了必要的引用?

最佳答案

您似乎正在尝试使用 VS2015 MSBuild 工具构建一个包含 .NET Standard 2.0 项目的解决方案。

The .NET team changed the project file structure (first announced here) for new .NET Core and .NET Standard projects along with the release of Visual Studio 2017.

构建 .NET Core/Standard 的支持随 TFS 2017 Update 2 一起提供更新。

.NET Core tasks support project files

With the current update, we are enhancing .NET core tasks to support *.csproj files in addition to project.json. You can now use Visual Studio 2017 on your build agents to build .NET core applications using csproj files.

作为解决方法,您可以尝试放弃使用 TFS 2015 构建任务 MSBUILD 和 Visual Studio Build,而现在使用命令行步骤。一般来说,如果您可以在命令行上执行任务,您也可以在 TFS/VSTS 中执行。更多详细步骤请引用此博客:Building .NET Core and .NET Standard Projects in TFS 2015

关于tfs - 如何获得 .net 标准 2.0 项目以在 TFS2015 上构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47333414/

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