簡體   English   中英

如何在Visual Studio 2017社區中獲取NuGet選項?

[英]How to get NuGet options in Visual Studio 2017 Community?

我正在努力創建NuGet軟件包。 我正在使用Visual Studio 2017社區版。

我已經看過幾個視頻,這些視頻在“解決方案資源管理器”中右鍵單擊項目時在菜單上顯示“打包”選項。 但是,我沒有那個選擇。 這是Visual Studio其他(非社區)版本中的功能之一嗎? 我相信我也曾在某處提到過“在構建時創建NuGet軟件包”選項。 我也找不到。

我已經嘗試了從命令行使用nuget,dotnet和msbuild的各種方法,但是並沒有取得太大的成功。 非常沮喪。

任何幫助表示贊賞。

如果您真的想使用Visual Studio,我建議您安裝一個擴展程序,以幫助您解決該問題。 例如, 這個 人們在視頻中擁有的選項取決於他們安裝的擴展程序。 對你來說,是一樣的。

或者,只需使用此處解釋的命令行工具或此處此處的 .NET Core。

dotnet / msbuild包僅適用於SDK樣式的項目,但我認為適用於所有版本的Visual Studio以及命令行。 .NET Core引入了這些SDK樣式的項目,可以通過<Project Sdk="Microsoft.NET.Sdk">進行標識。 如果您的項目(如果為C#項目, Sdk .csproj )不具有Sdk屬性或不通過其他兩種方式導入Microsoft.NET.Sdk ,則它不是SDK樣式的項目,因此不支持打包。 兩種項目樣式之間的另一個明顯區別是,SDK項目距離新項目模板只有幾行,並且不在項目中列出文件,而舊樣式項目通常是全屏的,即使是新項目也是如此。模板只有一個類文件,並且確實列出了項目中的單個文件。 如果要繼續使用此項目類型,則需要使用nuget.exe pack並且可能需要創建一個.nuspec文件來定義某些包元數據。

但是,使用SDK樣式的項目是未來,所有Microsoft現有項目類型的遷移都需要時間。 它使用起來要簡單得多,因此我個人會避免使用老式項目,除非您使用的項目類型(例如ASP.NET,而不是ASP.NET Core)不支持它。

所有這一切都使.NET生態系統新手感到困惑。 我的建議是1.安裝Visual Studio時,在選擇工作負載時,請確保在組件列表中選擇了.NET Core,無論安裝時是否有可用的.NET Core最新版本。 在Visual Studio中創建新項目時,請始終選擇任何新項目模板的.NET Core版本或.NET Standard版本,即使您要定位(Windows).NET Framework,在這種情況下,您也要編輯.csproj並將<TargetFramework>netstandard2.0</TargetFramework>更改為<TargetFramework>net45</TargetFramework> ,盡管我建議通過添加元素名稱並使用分號分隔的列表來實現多目標: <TargetFrameworks>net45;netstandard2.0</TargetFrameworks> 因此,請避免使用“類庫(.NET Framework)”模板,而應使用“類庫(.NET Standard)”,然后根據需要更改目標。

@zivkan帶我走了正確的路。 從.Net Framework將我的項目類型更改為.Net Core,使我在原始帖子中提到的所有選項都可用。 無需擴展。

我的.Net Core類庫項目現在在項目的上下文菜單上具有“打包”和“發布”選項。 此外,項目屬性頁面上還有另一個選項卡(包)。 在該頁面上,有一個“在生成時生成NuGet軟件包”選項,以及版本,名稱,標簽和其他屬性。

我已經做了很多.Net框架開發,但是一直忽略.Net Core和更新的選項。 我想我需要深入了解它們。

暫無
暫無

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

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