在内部构建 .net 标准 1.4 class 库 TFS 2015

Build .net standard 1.4 class library TFS 2015 on premise

我们正在为 Xamarin 表单应用程序构建 Web API 应用程序。我包含了一个 .NET 标准 class 库项目用作我的视图模型。这个想法是在我们构建网络 api 端点时 - 我会将更新后的 class 库发布到我们的内部 NuGet 服务器。

我们的 CI 失败了。当我签入代码时 - 我遇到构建错误(在前提下使用 TFS 2015)。我收到的第一个错误是

The default XML namespace of the project must be the MSBuild XML namespace. If the project is authored in the MSBuild 2003 format, please add xmlns="http://schemas.microsoft.com/developer/msbuild/2003" to the element. If the project has been authored in the old 1.0 or 1.2 format, please convert it to MSBuild 2003 format.

所以我将 XML 命名空间添加到 csproj

现在我明白了:

There is no target in the project.

您使用哪个版本的 Visual Studio?可以在本地用VS构建项目还是在命令行用msbuild构建?

总之,根据报错信息,似乎与创建项目的VS版本和msbuild版本(VS 2017中应用的新.csproj项目格式)有关。您可以参考以下线程来解决问题:

对于第一个错误:

对于第二个错误:

  • Visual Studio 2010 Project Targets

    将以下属性添加到 Project 元素:

    DefaultTargets="BuildTarget"

    这将告诉 MSBuild 在我们进行构建时使用名为 "BuildTarget" 的目标。接下来将以下子元素添加到 Project 元素(就在最后一行 "</Project>" 之前):

    <Target Name="BuildTarget"> <Message Text="Build selected" Importance="high"/> </Target>

    然后保存文件并关闭编辑window。然后 return 到解决方案资源管理器并右键单击解决方案和 select "Reload Project"。然后构建项目。您应该得到消息 "Build selected" 以及构建的输出,如:

所以无法回答。我已经尝试在代理上安装 VS 2017 - 但没有用。

我们确实找到了 TFS 需要升级到 Update 3 之后的文章。

我最终会在几个月内将我们升级到 2017 - 这将成为一个有实际意义的问题。

感谢您的回答。