顯示具有 Visual Studio 標籤的文章。 顯示所有文章
顯示具有 Visual Studio 標籤的文章。 顯示所有文章

整合Podman與Visual Studio Container Tools

整合 Podman 與 Visual Studio Container Tools

由於 Kubernetes 的導入,目前公司內的 Windows Container 已所剩無幾,並且 Docker Desktop 現有授權的關係,在公司使用 Docker Desktop 是需要每年採購授權的。因此想要嘗試改用 Podman,在轉換至 podman 過程有二件事:

  • 習慣了 docker CLI,要改成 podman CLI
  • Visual Studio 無法和 podman 溝通,因此,如果要需要整合容器開發環境,會有開發上問題

使用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

Visual Studio的Code Cleanup圖示不見了

Visual Studio的Code Cleanup圖示不見了

最近在準備 .NET Conf 2023 Taiwan 的分享時發生一個意外,我的 Visual Studio 裡面的 Code Cleanup 圖示不見了!

修復Visual Studio Installer筆記

修復 Visual Studio Installer 筆記

windows crash ui

話說,工作電腦突然得到好人哭哭卡一張。重開機後用 BlueScreenView 去看了一下,原因是:SYSTEM_SERVICE_EXCEPTION,嗯,好吧,這好像不是我能處理的。

windows crash minidump dump information

重開機之後,想說繼續之前被中斷的工作,其中一項是更新 Visual Studio 2019,結果:

Visual Studio Installer Error

調整Visual Studio 2019開始啟動,解決Start window凍結當掉

調整Visual Studio 2019開始啟動,解決Start window凍結當掉

vs2019 startup

Visual Studio 2019 最有感的改變之一就是一開始的「啟動畫面(startup)」不一樣。不過好景不常,這個啟動畫面在我公司舊筆電(比例非常高)與自用的 Surface Pro 6 上都會出現:

vs2019 startup no-response

使用SQL Server Schema Comparion新增NOT NULL欄位

使用SQL Server Schema Comparion新增NOT NULL欄位

我們的資料庫除了正式區之外都是使用 Visual Studio 資料庫專案來進行版控與管理。在測試區碰到一個簡單需求,新增表格欄位,例如定義 LocationType NVARCHAR (50) NOT NULL,透過 New Schema Comparion 原本以為快速就能解決的表格更新,結果立刻得到如下錯誤:

ASP.NET Core Debugging Breakpoint not hit?

ASP.NET Core Debugging Breakpoint not hit?

同事反應,ASP.NET Core 專案無法正常進行中斷點(breakpoint)偵錯。簽出專案,下中斷點偵錯取得以下資訊:

breakpoint not hit

The breakpoint will not currently be hit. No symbols have been loaded for tis document.

如果這時你下關鍵字「asp.net core breakpoint」去搜尋,在第一筆你就能找到解決方案。

他的解決方案是叫你「關閉:Enable Just My Code」與「開啟:Microsoft symbols Server」。

如果這樣就解決了,那我還要寫這篇嗎?

如何在Visual Studio 2017中編輯Global.asax

如何在Visual Studio 2017中編輯Global.asax

某個專案進行重構,異動部分較大,連方案、專案檔都重新命名,進而影響命名空間。全部整理完之後,重新建置正常,但執行確出現一個Global.asax錯誤。

global.asax error

線上網站很慢!使用DebugDiagnostic Tool進行線上IIS網站程式效能分析

線上網站很慢!使用DebugDiagnostic Tool進行線上IIS網站程式效能分析

我們有個專案的架構如下:

JS Framework <--> ASP.NET MVC <--> ASP.NET Web API(Service) <--> UDSP <--> ASP.NET Web API(Authorzation)

專案網站有個怪問題,如果網站2到3小時的時間無人使用,那麼閒置時間後第一個第一次使用的人會特別慢。針對IIS的Application Pool的啟動模式由OnDemand改為AlwaysRunning,針對IIS站台的預先載入也已經修改為true,但效果有限。相關停頓、反應時間過長等情境在本地端(Local)模擬不出來,由於分層(tier)過多追起來費時費工。

有無什麼好辦法,可以針對發行至IIS的站台進行線上的偵錯?有的,目前我知道的有三種方法:

  1. WinDBG
  2. IntelliTrace Collector
  3. DebugDiagnostic Tool

WinDBG功能強大,但指令參數複雜,而且取得Dump檔的過程不是那麼友善。針對這樣的問題,WinDBG近期有推出一支Microsoft Store App - WinDBG Preview,可以透過GUI來查詢分析Dump檔案。IntelliTrace Collector也是強大,但推廣不易,因為IntelliTrace定位在Visual Studio企業版才能使用。DebugDiagnostic Tool是本篇的主角,選擇它的原因很簡單,第一、它安裝與使用容易。第二、它收集Dump容易。第三、它分析Dump容易。

首先,你必須先下載Debug Diagnostic Tool v2 Update 2並安裝至IIS所在的伺服器上。安裝好會多三套工具,DebugDiag 2 Collection、DebugDiag 2 Analysis、DebugDiag 2 RuleBuilder(beta)。

.NET開發者,你應該養成用空白範本寫正式專案

.NET開發者,你應該養成用空白範本寫正式專案

這是一篇有感而發的短文。

最近又在做效能調教的工作,在單一個專案內我移除了近30個無用的NuGet套件。其實不用問,一眼就能看出,這是一個從預設專案範本開始寫的專案。用專案範本有錯嗎?嗯,沒錯,也有錯。原因,最後在說。我們先來看看之前 twMVC#22分享主題:「一個微信專案從0到000的效能調教」的幾張投影片。

VSTS之Build(CI)自動化建置與XML組態轉換的神秘關係

VSTS之Build(CI)自動化建置與XML組態轉換的神秘關係

關於的Web.config瞭解與使用,在開發的網站規模越來越大時,需要瞭解的越多,之前也做有幾次的討論:

但這一次是碰到VSTS在自動化建置後產出Web.config一直不正常,一開始有點鬼打牆的狀態,但在新聞追追追的精神下,讓我又對Web.config組熊轉換又更進一步瞭解。

關閉資料庫專案檔案造成Visual Studio 2017停止回應

關閉資料庫專案檔案造成Visual Studio 2017停止回應

同事反應,在Visual Studio 2017當要關閉修改過資料庫專案檔案時,整個 VS 2017 會停止回應數十秒才會關閉。在我電腦測試,確實會停頓個2-3秒時間才會關閉。本來以為是 SSDT 的問題,因為 SSDT 在目前的 VS 2017 還沒準備好。我猜,SQL Server 2017 GA 時應該會一併更新 SSDT for VS 2017 吧。

還好,轉個彎下對關鍵字,看到一個很瞎的解決方式。

VS2017 Send Feedback
VS2017 Close Send Feedback

重開 VS 2017,問題立即解決。

參考:

Microsoft Build 2017之.NET開發者課程匯總小筆記

Microsoft Build 2017之.NET開發者課程匯總小筆記

Build 2017 From:網路

Microsoft Build 2017 已經落幕,但開發者的重點才要開始,數百堂的技術分享,要如何吸收。還好,Scott Hanselman 幫我整理好了 BUILD 2017 Conference Rollup for .NET Developers 。目前我只看了前二個,簡單做了點小筆記。如果你對 .NET Standard 2.0 / .NET Core 2.0 / ASP.NET Core 2.0 興趣,最少建議花點時間把這兩篇看完。

VSTS Build CI建置Visual Studio 2017 C# 7專案失敗

VSTS Build CI建置Visual Studio 2017 C# 7專案失敗

早上簽入一專案,VSTS CI Build沒幾秒立即出現紅燈:

此專案為類別庫專案,差異點是之前是用 Visual Studio 2015 開發,目前改用 Visual Studio 2017 並重構 C# 6 語法改使用一些 C# 7 out variables 語法。就簽出來使用 Visual Studio 2017 開啟專案狀態來看,Visual Studio 2017 並無修改任何專案內容,在使用 C# 7 out variables 也能正常編譯出 dll 並讓其他專案參考使用。

直覺反應:VSTS 不支援 C# 7 編譯?不會吧!

ASP.NET Core-Tag Helpers無IntelliSense效果

ASP.NET Core-Tag Helpers無IntelliSense效果

在 ASP.NET Core 的 Views (Razor) 提供了一個新的 Tag Helpers,Tag Helpers 有別於 ASP.NET MVC 的 Html Helpers。在 Visual Studio 2017 可以新增「ASP.NET Core Web Application (.NET Core)」或「ASP.NET Core Web Application (.NET Framework)」專案:

  1. 選擇 ASP.NET Core 1.1
  2. 選擇 Web Application

我們開啟 Views/About.cshtml 貼上以下程式碼:

<form asp-controller="Movies" asp-action="Index" method="get">
    <p>
        Title: <input type="text" name="search" />
        <input type="submit" value="Filter" />
    </p>
</form>
tag helper render html

可以看到 asp-* 的 Tag Helpers 會被解析為正常的 HTML 內容。但如果是手刻程式嗎呢?

input asp- tag helper
edit asp- tag helper

可以看到,不論是直接輸入 asp- 或修改舊的程式碼,Visual Studio 2017 不會有任何 IntelliSense 提示。這...

安裝VS2017後造成SSMS 2016 Components錯誤無法啟動暫時解決方案

安裝VS2017後造成SSMS 2016 Components錯誤無法啟動暫時解決方案

SSMS 2016 啟動 Error Message

如上圖,同事安裝 VS2017 之後,SSMS 2016 無法啟動,啟動會出現:Cannot find one or more components. Please reinstall the application.

重新 re-install SSMS 2016 16.5.3 數次,試過這篇這篇的做法,也都無效。

Visual Studio 2017資料庫專案語法高亮失效暫時解決方案

Visual Studio 2017資料庫專案語法高亮失效暫時解決方案

團隊許多專案,在資料庫部分都透過資料庫專案進行管理與發行。但在安裝 Visual Studio 2017 RTM 之後會發現,資料庫專案的語法高亮(Syntax Highlighting)失效,如下圖:

T-SQL Syntax Highlighting not work

在微軟的 Developer Community 找到一個討論串,應該是 bug 無誤了。

其中 Christian Gunderman 提到some language services lose colorization,而且災情似乎只在non-English會出現,看起來要暫時解除此 bug 不是難事。

製作離線Visual Studio 2017安裝檔與新VS Installer初體驗

製作離線Visual Studio 2017安裝檔與新VS Installer初體驗

Hello Visual Studio 2017

Visual Studio 2017 經過一年多的 Preview → RC,從目前官方 Visual Studio 2017 Launch Event 的消息來看,2017/3/7 會發行 Viusal Studio 2017 RTM 正式版,其中套件元件化是其中一個很棒的特色,也就是說,如果你的開發工作單純,Visual Studio 2017 的安裝是可能非常輕量化,各種元件之間相依性大減,寫 Web 裝 Web 元件、寫 .NET Core 裝 .NET Core 元件、寫 Azure 裝 Azure 元件、寫 Xamarin 裝 Xamarin 元件,不寫就移除元件,要寫再裝,一整個熱插拔的手感。

Visual Studio 2017 VS Installer 是另一個特色,VS Installer 改進了過去了 Visual Studio 的安裝體驗,新增/移除元件如上所說,另一個特色是Visual Studio 2017 更新或升級,例如,你現在安裝 Visual Studio 2017 RC 版,未來 RTM 推出時不需重新安裝,直接透過 VS Installer 進行更新升級即可。

說真的,從接觸 .NET 使用 Visual Studio 開始到現在,不知道為了 Visual Studio 重灌多少次電腦,光這二個特色我就感動到哭了。

消滅浪費的Visual Studio - ASP.NET MVC與API專案範本

消滅浪費的Visual Studio - ASP.NET MVC與API專案範本

Restart Visual Studio Message

Visual Studio 2015 Update 3 的 Web 專案範本有個問題(更正確的說,是NuGet套件造成)。如果你新增一個 Web 應用程式然後更新所有 NuGet 套件,更新完成後會看到 "Microsoft.Net.Compilers.1.0.0 failed to uninstall. Restart Visual Studio to finish the process." 的提示訊息。

新增專案的兩種浪費

自從接觸到Agile/Scrum之後,有個東西會特別注意,那就是浪費

上述的情況最少有兩種浪費:

  1. 重覆更新NuGet套件
  2. 重啟Visual Studio

由於經常需要寫寫測試程式或範例,套件 30 秒重開 30 秒就這樣不見了,這兩件浪費的事有時一天會發生好幾次,尤其是在寫文章或備課期間更是明顯

有浪費不消滅,說不過去。

來吧,製作自己或團隊的Visual Studio(多)專案範本-Xamarin.Forms為例

來吧,製作自己或團隊的Visual Studio(多)專案範本-Xamarin.Forms為例

Installed Templates

使用Visual Studio的人一定使用過新增專案,在新增專案的過程有個步驟一定省略不了,那就是選擇你所需的專案範本,Visual Studio本身準備了非常非常豐富的專案範本,但就是有不夠用的時候,這時有二種處理方式,除了Visual Studio裡已安裝(Installed)範本外,還可以搜尋線上(Online)範本,Installed 範本大約能解決 90% 的開發需求,Online 範本能在提供 5% ~ 8% 特別需求的解決方案(但也是比較通用或一般性),另外的 2% ~ 5% 就是今天想討論的主題,客製化自己或團隊的專案範本。

Online Templates