我们正在为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中
现在我明白了:
项目中没有目标。
答案 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年 - 这将使这成为一个有争议的问题。
感谢您的回答。