[廚餘回收] Visual Studio 2019 一直出現「warning : Your project does not specify a TypeScriptToolsVersion.」警告

Visual Studio 2019 在建置 ASP.NET Core 專案時,一直出現下面的警告訊息,由於我的專案沒有使用 TypeScript,看到這個警告訊息也是覺得挺詭異的,一直想要把它弄掉。

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\v16.0\TypeScript\Microsoft.TypeScript.targets(72,5): warning : Your project does not specify a TypeScriptToolsVersion. The latest available TypeScript compiler will be used (3.9). To remove this warning, set TypeScriptToolsVersion to a specific version or "Latest" to always select the latest compiler.

...繼續閱讀 »

[料理佳餚] C# 三種實作跨應用程式鎖定的方式

  • 3226
  • 0
  • C#
  • 2020-03-25

「鎖定」的使用場景通常是我們希望某個資源,同一個時間只有一個程序來存取它,在同一個應用程式中我們有 lock 陳述式Monitor.EnterMonitor.TryEnter 可以用來做鎖定,當有一個以上的應用程式,甚至是跨不同機器的應用程式要做鎖定時,會需要用到額外的資源,我們儘量利用我們手邊有的資源來做這件事。

...繼續閱讀 »

[食譜好菜] 從 C# 一個簡單的 lock string 修正了對 String Pool 的觀念

今天以前,我一直以為「在 C# 程式裡面只要是 String 型態,其內容都會在 String Pool 有一份,而且相同的 String 實體物件在記憶體中只會有一份。」,這個觀念在今天得到了修正:「只有在編譯時期的 Literal String,預設才會放進 String Pool,執行時期動態組成的 String 物件則不會。」,再次命中了「程式是照我們寫的跑,不是照我們想的跑。」

...繼續閱讀 »