元素<packagereference>中的属性“ Version”无法识别

时间:2019-03-19 20:39:25

标签: c# .net .net-core msbuild .net-standard

我有许多针对.net 4.6.1的项目的解决方案。在我们的MS构建服务器上,它构建良好。我最近添加了一个针对.NET Standard 1.3的项目。这不会在构建服务器上构建。它可以在本地使用VS2017构建。生成服务器VS刚刚进行了最新更新。

我得到的构建错误是:{ "count" : 453 }

我得到了一些参考。这是从项目文件中提取的一个文件:The attribute "Version" in element <PackageReference> is unrecognized.

有什么想法吗?

4 个答案:

答案 0 :(得分:1)

如果有人遇到此线程,请参考下面的.Net Framework项目解决方案。

<PackageReference Include="System.Diagnostics.Process">
    <Version>4.3.0</Version>
</PackageReference>

答案 1 :(得分:0)

好像您不是在使用VS 2017中包含的MSBuild.exe(/构建工具)进行构建,而是使用.NET Framework附带的MSBuild.exe,这是一个旧版本(不会进行更新) )。

考虑使用VSWhere来定位MSBuild.exe

答案 2 :(得分:0)

我使用 NuGet版本:3.4.4.1321

收到了相同的构建错误消息

我跑了nuget update -self

Checking for updates from https://www.nuget.org/api/v2/.
Currently running NuGet.exe 3.4.4-rtm-1321.
Updating NuGet.exe to 5.1.0.
Update successful.

之后,当我运行nuget时,不再有构建错误

答案 3 :(得分:0)

需要正确的MSBuild版本,以使用带有版本属性的程序包引用来构建项目文件。该屏幕截图显示了Team City的一个示例。注意名称“ Microsoft Build Tools 2017”。这是您希望在开发人员PC或目标服务器上拥有的软件包。

Team City - Select MSBuild Version

这对于CI / devops /在那里需要构建.NET应用程序/需要在构建服务器上构建MSbuild的其他应用程序的人员很有帮助。