Nuget Packager项目的默认XML名称空间必须是TFS 2017中的MSBuild XML名称空间

时间:2018-01-03 13:17:48

标签: tfs nuget-package .net-standard .net-standard-2.0

我将我正在打包的项目类型从.net framework v4.6更改为.net标准2.0,现在构建定义在Nuget打包程序步骤中失败,我收到此错误消息。

  

[error]项目的默认XML名称空间必须是MSBuild   XML命名空间。如果项目是以MSBuild 2003格式编写的,   请添加xmlns =“http://schemas.microsoft.com/developer/msbuild/2003”   对元素。如果该项目已在旧版中编写   1.0或1.2格式,请将其转换为MSBuild 2003格式。

在研究了这个错误后,我理解NuGet打包器步骤不适用于基于SDK的csproj格式。

有哪些最佳选择?我发现了同样的问题here,但我找不到可用命令中的命令包。

2 个答案:

答案 0 :(得分:1)

虽然下拉列表中未显示pack命令,但您可以手动将其输入到该字段中。

答案 1 :(得分:1)

这就是我解决这个问题的方法:

1-将包元数据添加到.csproj文件。

2-转到项目属性 - >打包并检查"在build"上生成NuGet包。

3-在构建定义中添加以下任务:

a- NuGet恢复:

  • 设置解决方案的路径。

  • 选择我的NuGet.config中的Feed作为要使用的Feed。

  • 设置Nuget.config的路径(通常是项目根" src \ nuget.config")。

b- Visual Studio Build:

  • 设置解决方案的路径。

  • 平台:类似$(BuildPlatform)。

  • 配置:类似$(BuildConfiguration)。

c-复制和发布构建工件:

  • 在内容中输入* .nupkg。
  • 设置复制根,工件名称和工件类型。