2017-07-06 69 views
2

我有一個簡單的.NetCoreApp 1.1類庫,目前在Visual Studio 2017 15.2(26430.13)中打開。 我想在構建上創建一個NuGet包,並配置了我的項目設置的「包」選項卡;包括「生成NuGet包」。 在該選項卡上,我設置了「包裝編號」和「包裝版本」。 我看到存儲在CSPROJ <PackageId>元素中的包ID爲。 但是,我沒有看到Package版本存儲在<PackageVersion>元素中。 NuGet包使用CSPROJ <PackageVersion>值進行構建;並且項目屬性「Package」選項卡中顯示的不同值存儲在我無法找到的某個神奇位置。Visual Studio 2017 UI忽略CSPROJ <PackageVersion>

這是一個錯誤?

-John

回答

1

PackageVersion默認爲Version如果沒有項目本身明確設置它,所以編輯Version單獨還將設置所產生的NuGet包的版本。此外,與PackageVersion相反,Version也將用作自動生成的AssemblyInfo.cs的缺省值,因此在很多情況下,您仍然希望設置Version以影響彙編元數據 nuget的程序包版本。

如果您認爲此行爲不正確 - 尤其是在項目中定義自定義PackageVersion時 - 手動設置PackageVersion時,這可能被視爲錯誤或缺失功能。你可以在project system's GitHub repo上打開一個問題來討論這種行爲。

+0

如果您在csproj中設置AssemblyVersion和FileVersion,那麼使用Version而不是PackageVersion基本上什麼都不會做,那對嗎? – Dismissile

+0

如果其他人不清楚,我的工作只是刪除我的csproj中的條目 - 然後我的包使用構建,這是您在UI中實際編輯的內容。 –