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

使用Azure Registry Container for Microsoft Defender進行專案資安修補,以CVE-2024-0057為例

使用Azure Registry Container for Microsoft Defender進行專案資安修補,以CVE-2024-0057為例

我們映像檔(images)是儲存在ACR(Azure Registry Container),在ACR有提供 Microsoft Defender 能提供我們映像檔(images)的安全性報告。

ACR Microsoft Defender 01

使用nuget.exe快速取消與啟用nuget package source

使用nuget.exe快速取消與啟用nuget package source

在進行一個 Visual Studio Core + Entity Framework Core 測試程式時,在新增套件時,不斷跑出「無法載入來源」的錯誤,然後停止安裝。

dotnet add package Microsoft.EntityFrameworkCore.Sqlite
  Writing C:\Users\BruceChen\AppData\Local\Temp\tmp1C89.tmp
info : 正在將套件 'Microsoft.EntityFrameworkCore.Sqlite' 的 PackageReference 新增至專案 'D:\Temp\EFCoreFirst\EFCoreFirst.csproj'。
info : 正在還原 D:\Temp\EFCoreFirst\EFCoreFirst.csproj 的封裝...
info :   GET https://api.nuget.org/v3-flatcontainer/microsoft.entityframeworkcore.sqlite/index.json
error: 無法載入來源 https://xxxxxxxxxx.pkgs.visualstudio.com/_packaging/BestFeed/nuget/v3/index.json 的服務索引。
error:   Response status code does not indicate success: 401 (Unauthorized).

無法載入System.Diagnostics.DiagnosticSource錯誤

無法載入System.Diagnostics.DiagnosticSource錯誤

專案升級套件後,Web、API相繼掛點,出現黃白畫面:

Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

VSTS使用Package Management擴充架設有權限功能的私有NuGet Server

VSTS使用Package Management擴充架設有權限功能的私有NuGet Server

Package Management

https://www.nuget.org/ 提供套件管理的好處大家都知道,處理相依性、web.config組態管理、套件升降級等等方便性,免費。大量佛心人員提供可重覆使用的元件(輪子),免費(絕大多數)。而自從有了 NuGet Server 之後,架設私有NuGet Server就是一件簡單不過的事。對於要上傳套件至 Nuget Server 也走過一些路,最早是用 NuGet Package Explorer 發行與管理,後來知道了 NuGet Packager 這個好物,可以直接從 Visual Studio 進行發行,超高興的。不過好景不長,大家又開始流行 DevOps,希望往自動化更進一步,所以我們又開始在VSTS上進行 Team Build + Release Management 發行至 Microsoft Azure 上的站台!

非內網 NuGet Server 問題

這裡有個很大的問題 Azure Web Site,預設的 NuGet Server 是個公開的環境,除了上傳套件需要 ApiKey 外,其他瀏覽或下載使用很非常自由的。也就是,在非公司內網環境,你的私有套件可能有一天突然就被下載與看光光了。

以前是無解,現在終於有一個很好的選擇:Visual Studio Team Service - Package Management

VSO簽出packages少了dll怎麼辦?

VSO簽出packages少了dll怎麼辦?

高美館-阿魯巴
from:https://www.flickr.com/photos/yellowmo/4754749137/

同事回報,簽出的專案無法編譯,查看之下發現,原來是新加入套件呈現黃色三角型狀態,直接點擊法(在黃色三角型套件點兩下)無效。刪除重新安裝法(Nuget移除重裝),被版本控管擋下,一堆@#$%^的訊息之後給出的關鍵號碼是「tf40024」,經G大神查詢後,連G大神說都它無能為力。又追到同事的Packags目錄之下,發現該套件目錄之下只有*.nupkg檔,正常是會含lib目錄,lib目錄下會含有此套件應有版本的DLL。

吼,這是誰簽入的啦,抓出去阿魯巴。

工作區找不到項目…或是您沒有存取權限

罪人小弟我,快回到本機查看。

由於套件是由我的電腦安裝與簽入,所以並不會產生專案無法編譯的情況。由於我想重新簽入含lib目錄與DLL檔的專案,我透過VS2015的Nuget進行了一次降級的動作。但不如人意,在Team Explorer裡看不到降級後的lib內容dll檔案!!!

我知道7月的鬼門開了,但VSO在雲端,應該天上管理,鬼魅們應該還無能力去上天做怪才是。

就在苦無辦法之際,看到一線訊息:

中文版Visual Studio安裝各種Preview或RC的NuGet套件

越來越快的軟體發行速度

不知道各位讀者有沒有發現,現在各種技術更新的速度越來越快。例如,這個Release Candidates for ASP.NET MVC 5.1, Web API 2.1 and Web Page 3.1消息,明明ASP.NET MVC 5、ASP.NET Web API 2才剛推出沒多久,就馬上有新版本跟著推出。就取得新功能或功能改善而言,這是件好事。當開發者想要嘗試這些Preview或RC功能時,可能會馬上碰壁,而停下了學習的腳步實在可惜。

範例:MVC 5無法升級MVC 5.1 RC

新增一個ASP.NET MVC 5專案,進行MVC 5.1 RC的安裝:

Install-Package Microsoft.AspNet.Mvc -pre

Install-Package : 更新 'Microsoft.AspNet.Mvc 5.0.0' 至 'Microsoft.AspNet.Mvc 5.1.0-rc1' 失敗。找不到與 'Microsoft.AspNet.Mvc 5.1.0-rc1' 相容的 'Microsoft.AspNet.Mvc.zh-Hant' 版本。
位於 線路:1 字元:1
+ Install-Package Microsoft.AspNet.Mvc -pre
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

MVC 5.1 RC安裝錯誤

這裡馬上就碰到無法找到對應語系的套件,進而無法安裝的訊息。

範例:Web API 2無法升級Web API 2.1 RC

新增一個ASP.NET Web API 2專案,進行Web API 2.1 RC的安裝:

Install-Package Microsoft.AspNet.WebApi -Pre

Install-Package : 更新 'Microsoft.AspNet.WebApi.WebHost 5.0.0' 至 'Microsoft.AspNet.WebApi.WebHost 5.1.0-rc1' 失敗。找不到與 'Microsoft.AspNet.WebApi.WebHost 5.1.0-rc1' 相容的 'Microsoft.AspNet.WebApi.WebHost.zh-Hant' 版本。
位於 線路:1 字元:1
+ Install-Package Microsoft.AspNet.WebApi -Pre
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

Web API 2.1 RC安裝錯誤

一樣是無法找到對應語系的套件的問題。

這問題很久了,我一定要解決它(握拳)

ASP.NET MVC快速產生SiteMap的擴充程式 - MvcSiteMapProvider

WebForm有,MVC有沒有

在 WebForm 拜控制項所賜,讓我們可以快速且容易去設置與產出網頁的 SiteMap(中文稱巡覽列、導覽列),不過在 ASP.NET MVC 之下一開始並無控制項觀念,也經常碰到有 WebForm 經驗正在學習 ASP.NET MVC 的新手常問說:WebForm 有什麼控制項的功能,ASP.NET MVC 有沒有。SiteMap 就是常被問到的一項。

說實話,剛接觸 ASP.NET MVC 2 時是比較辛苦,因為沒提供的功能都必須自己手工刻。隨著時間的經過,後來有了 NuGet 的加持直到現在 ASP.NET MVC 4,整個 ASP.NET MVC 上的擴充套件(擴充程式)已經非常完整,今天要介紹的 MvcSiteMapProvider 都一套快速提供 MVC 專案使用的 Sitemap 擴充套件。

安裝與設置MvcSiteMapProvider擴充套件

首先我們先開一個測試用的 MVC - 網際網路專案,然後開啟【套件管理器主控台】:

PM> Install-Package MvcSiteMapProvider

安裝之後,會開啟一個 Mvc.sitemap 的檔案,如果讀者看過 Webform 的 SiteMap 設置檔會有相似的感覺。