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

Yah*_*ein 6 tfs nuget-package .net-standard .net-standard-2.0

我将要打包的项目类型从 .net Framework v4.6 更改为 .net standard 2.0,现在构建定义在 Nuget 打包器步骤中失败,并且收到此错误消息。

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

研究此错误后,我了解到 NuGet 打包步骤不适用于基于 SDK 的 csproj 格式。

最好的替代方案是什么?我在这里发现了同样的问题,但我在可用命令中找不到命令包。

Yah*_*ein 1

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

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

2-转到项目属性 -> 包并选中“生成 NuGet 包”。

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

a-NuGet 恢复:

  • 设置解决方案的路径。

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

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

b- Visual Studio 构建:

  • 设置解决方案的路径。

  • 平台:类似于 $(BuildPlatform)。

  • 配置:类似于 $(BuildConfiguration)。

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

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