顯示具有 Nuget 標籤的文章。 顯示所有文章
顯示具有 Nuget 標籤的文章。 顯示所有文章

2025/03/13

如何使用 cURL 刪除與查詢 GitHub Packages 的 NuGet 套件版本

在 GitHub Packages 上,你可以透過 API 來查詢或刪除已發布的 NuGet 套件版本。本篇文章將介紹如何使用 curl 來執行這些操作。

🔍 查詢 NuGet 套件的所有版本

如果你想要取得某個 GitHub Organization 內的 NuGet 套件的所有版本,可以使用以下 curl 指令:

curl -H "Authorization: Bearer ghp_xxxxxx" \
     -H "Accept: application/vnd.github+json" \
     "https://api.github.com/orgs/YourOrgName/packages/nuget/ProjectName/versions"

這段指令會:

  • 使用 -H "Authorization: Bearer ghp_xxxxxx" 提供你的 GitHub Personal Access Token(PAT)來進行身份驗證。
  • 加上 -H "Accept: application/vnd.github+json" 以確保回傳的 JSON 資料格式符合最新 API 版本。
  • 向 GitHub API 發送請求,列出 Organization YourOrgName 下,NuGet 套件 ProjectName 的所有版本。

2023/09/04

Visual Studio 2022 解決NuGet 使用私倉 重啟需要重新輸入帳號密碼問題 Nexus Repository

最近身體堪憂,早上剛找完醫生報到,到家時看到公司的前輩問我為什麼VS每次重新開啟後都需要輸入帳號密碼

接著我就開始進入滿臉問號的情況

一開始排查方向往Nginx Proxy方面去找,但發現配置上沒有任何問題

接著開始著手Nexus Repository Role的問題,也沒發現有缺少的配置

最後開始著手研究了下NuGet所儲存的配置檔

在資料夾輸入下方指令找到NuGet配置檔
%userprofile%\AppData\Roaming\NuGet



找到了「為 NuGet 設定需驗證的 proxy」,比較後確定配置檔案有差異,後來又找到了這篇「Nuget私包源记住用户名和密码

2016/09/06

C#.Net GeckoFx

Geckofx早期由Netscape Communications開發出來目前由Mozilla接手維護,該開源瀏覽器也是Firefox的核心

安裝方法則可以透過Nuget安裝
Install-Package Geckofx45

程式碼:
using Gecko;
using System.Windows.Forms;

namespace Test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Xpcom.Initialize("Firefox");
            var webBrowser = new GeckoWebBrowser();
            webBrowser.Dock = DockStyle.Fill;
            webBrowser.Navigate("http://google.com.tw");
            this.Controls.Add(webBrowser);
        }
    }
}

執行結果:


參考資料:
https://www.nuget.org/packages/Geckofx45/
https://bitbucket.org/geckofx/geckofx/wiki/Home
https://bitbucket.org/geckofx/geckofx/wiki/DeveloperNotes

2016/09/05

Log4Net output multiple logs

關鍵在於log4net.Filter.LevelRangeFilter,由Filter攔截level並指派給appender並輸出

程式碼:
using log4net;
using System;
using System.Reflection;
using System.Windows.Forms;

namespace Test
{
    public partial class Form1 : Form
    {
        /// <summary>
        /// Logger
        /// </summary>
        private ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType.Name);

        /// <summary>
        /// Logger Error
        /// </summary>
        private ILog LogError = LogManager.GetLogger("ErrorsAppender");

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            log4net.Config.XmlConfigurator.Configure();

            try
            {
                var str = "Hi";
                Log.Info(str);
                Convert.ToDouble(str);
            }
            catch (FormatException ex)
            {
                LogError.Error(ex.StackTrace);
            }
        }

    }
}


2016/08/23

Windows Form Log4Net

Log4Net是一個可以紀錄運作和系統狀態以及錯誤訊息的Library,可用於.Net平台
安裝則可以透過Nuget輸入
Install-Package log4net

該範例則提供固定的log檔以及依照日期下去產生的log檔,使用前需要至App.config設定並在程式內調用Log4Net的方法

using log4net;
using System;
using System.Reflection;
using System.Windows.Forms;

namespace Test
{
  public partial class Form1 : Form
  {
    /// <summary>
    /// Logger
    /// </summary>
    private static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType.Name);

    public Form1()
    {
      InitializeComponent();
      //初始化Log4Net
      log4net.Config.XmlConfigurator.Configure();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      //輸出至log檔
      log.Info("button1Click");

      try
      {
        Convert.ToDouble("ss");
      }
      catch (FormatException ex)
      {
        //將錯誤訊息輸出至log檔
        log.Error(ex.StackTrace);
      }
    }

  }
}




2016/08/20

NuGet 基本操作



#安裝某一套件
Install-Package PackageID

#更新全部套件
Update-Package

#更新某一套件
Update-Package PackageID

#重新安裝全部套件
Update-Package -Reinstall

#移除某一套件
Uninstall-Package PackageID

#取得目前安裝套件
Get-Package