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

时间:2017-08-14 15:20:14

标签: continuous-integration tfs2015 .net-standard

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

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

  

项目的默认XML名称空间必须是MSBuild XML名称空间。如果项目是以MSBuild 2003格式创作的,请添加xmlns =" http://schemas.microsoft.com/developer/msbuild/2003"对元素。如果项目是以旧的1.0或1.2格式编写的,请将其转换为MSBuild 2003格式。

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

现在我明白了:

  

项目中没有目标。

2 个答案:

答案 0 :(得分:0)

您使用的是哪个版本的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>

    然后保存文件并关闭编辑窗口。然后返回Solution Explorer并右键单击解决方案并选择“Reload Project”。然后构建项目。您应该获得消息“Build selected”以及构建的输出,如:

答案 1 :(得分:0)

所以答案是不可能的。我已尝试在代理上安装VS 2017 - 这不起作用。

我们确实找到了一篇TFS需要升级到Update 3以外的文章。

我将在几个月内将我们升级到2017年 - 这将使这成为一个有争议的问题。

感谢您的回答。