簡體   English   中英

元素中的屬性“版本”<PackageReference> 不被承認

[英]The attribute "Version" in element <PackageReference> is unrecognized

我有許多針對 .net 4.6.1 的項目的解決方案。 在我們的 MS 構建服務器上,它構建得很好。 我最近添加了一個針對 .NET Standard 1.3 的項目。 這不會在構建服務器上構建。 它在本地使用 VS2017 構建就好了。 構建服務器 VS 剛剛更新了所有最新版本。

我得到的構建錯誤是: The attribute "Version" in element <PackageReference> is unrecognized.

我得到這個作為一些參考。 這是從項目文件中提取的一個: <PackageReference Include="System.Diagnostics.Process" Version="4.3.0"/>

有任何想法嗎?

看起來您沒有使用 VS 2017(/構建工具)中包含的 MSBuild.exe 進行構建,而是使用 .NET Framework 附帶的 MSBuild.exe,這是一個舊版本(不會更新)。

考慮使用VSWhere定位MSBuild.exe

如果有人遇到此線程,請參閱以下 .Net Framework 項目的解決方案。

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

我使用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 時不再有構建錯誤

需要正確版本的 MSBuild 來構建具有版本屬性的包引用的項目文件。 來自 Team City 的此屏幕截圖顯示了一個示例。 請注意名稱“Microsoft Build Tools 2017”。 這是您希望在開發人員 PC 或目標服務器上擁有的軟件包。

Team City - 選擇 MSBuild 版本

這對於需要在構建服務器上構建 .NET 應用程序/其他需要 MSbuild 的應用程序的 CI /devops / 構建人員很有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM