2017/08/26

[.NET Core] 用 Visual Studio Code 搭配 dotnet-watch 來建置與開發 ASP.NET Core 2.0 網站

距上回的 .NET Core 應用又一段時間啦~ 前些日子隨著 .NET Core 2.0 釋出. 是時候來進修發文章囉!

在 .NET Core 1.0 時, 透過跨平台開發的工具會利用到 Yeoman 來幫助產生所需的樣版檔案.

在 .NET Core 2.0 的建立專案的方式改變了, 不再需要透過 Yeoman, 而是用 dotnet new [template] 來建立專案.

可選擇的樣版簡短名稱如下:




2017/08/20

Visual Studio 2017 變更 C# 7.1 建置設定

隨著 Visual Studio 2017 Update 3, 已可以使用 C# 7.1 新功能來建置專案囉

變更方法:

在方案總管 -> 專案 Properties -> 建置 -> 進階 -> 選擇 語言版本 至 C# 7.1




C# 7.0+ 新功能語法

2017/06/27

[SQL Server] 如何轉移使用者的結構描述權限以利刪除舊登入帳號

環境


Windows Server 2012 R2
SQL Server 2016

問題


附加舊有的資料庫檔案, 無法刪除原指定的使用者登入帳號

原因


由於使用者擁有結構描述 db_owner 的權限卻不能變更解除



解決方法


變更結構描述權限給 dbo

ALTER AUTHORIZATION ON SCHEMA::[db_owner] TO [dbo]



之後就可以把舊的登入帳號刪掉, 並新增新的使用者並指定使用權限

2017/05/15

[Announcement] Windows 有關於勒索病毒 RansomWin32WannaCrypt 防範與修復說明


來自微軟的緊急通告更新說明

今天在全球有許多 Windows 用戶遭受到勒索病毒 WannaCryptor 的侵襲,針對這個最新的勒索病毒,微軟掌握到這個病毒威脅和網路攻擊已經影響數個區域的不同產業。根據微軟的安全報告指出,這個勒索軟體是屬於.WannaCryptor.病毒的其中一隻變種。為了協助.Windows.用戶共同面對這個大規模的惡意勒索病毒的威脅,MSRC.已公布相關的建議措施,請參閱下方連結,MSRC blog - CUSTOMER GUIDANCE FOR WANNACRYPT ATTACKS

根據對該勒索病毒.WannaCryptor.的掌握和處理,最優先提醒您以及您的客戶,必須立即安裝微軟於三月釋出的安全性更新中的 MS17-010,如果您已經透過自動更新安裝該更新程式,將能夠協助您的電腦免除該勒索病毒的攻擊與威脅。在此同時提醒Windows 7以上的用戶,為了降低病毒感染的威脅,請持續性更新您的作業系統和軟體,以保持最新安全狀態。

如果您是使用較早版本的 Windows 用戶,為協助您抵禦這個大規模惡意勒索病毒的侵襲,我們也已準備相關的應變措施,相關鏈結如下,請下載後進行安裝;此外,我們仍建議使用者盡可能持續性更新並升級作業系統,以確保杜絕其他勒索病毒的攻擊與威脅。

[下載更新資料來源] MSRC BLOG - Customer Guidance for WannaCrypt Attacks  

2017/05/10

[Windows Server] 如何用 NSSM 註冊程式為 Windows Service

經常有一些需要下指令才會執行的程式,而這些程式卻需要一直開啟不能關閉。

曾經試過用 RunHiddenConsole.exe,但是需要搭配寫 *.bat 來執行,若要常駐還要用排程在 Server 啟用時執行,過程有點多且複雜。

尋尋覓覓,發現一個好用又簡單的小程式: NSSM,可以很容易並簡化註冊服務流程。

2017/04/23

[nginx] 如何設定簡易 PHP Web Server 於 Windows 10 來跑 Laravel 專案 (用 nginx + PHP 7.1)


輕量 nginx 網頁伺服器,在之前曾寫過一篇超簡易的 nginx 設置上手文

今天來加點料,加上可執行 PHP 的環境,並設置 Laravel 的專案環境

設置環境

準備檔案

  1. nginx
  2. Visual C++ 可轉散發套件
  3. PHP

至於 Visual C++ 可轉散發套件要選什麼版本,是依照 PHP 下載的版本來決定要用哪個。

如果像下圖 php-7.1.4-nts-Win32-VC14-x86 則需要裝 vc_redist_x86.exe (下載的是 Microsoft Visual C++ 2015 的 x86 版本)



[SQL Server] 如何解決在 SQL Server 2012 匯出資料層應用程式發生錯誤的問題

前言

早期在轉移資料庫,常用土法煉鋼的方法,不是直接產生指令碼,就是直接掛載資料庫,在發現可以用匯出資料層應用程式後,一切都變得簡單多了。但是,對,又是這個但是,版本的支援程度上還是有所不同。

開發環境

  • Windows 10
  • SQL Server 2014

佈署環境

  • Windows Server 2012
  • SQL Server 2012


這是某專案客戶主機的環境,在專案完成要匯入資料前,由於與開發環境不同,不能直接用匯入資料層應用程式 (DAC) 的方式,所以轉移資料時需要用產生指令碼的方法,這時需要在進階選項去針對伺服器版本編寫指令碼,選擇正確的版本來產生指令碼,然後在佈署時直接用指令碼即可完成結構及資料匯入。







在佈署的伺服器執行 SQL 指令完成後,看似一切都完整正常運作了~

2017/04/14

[IIS] 解決 IIS 7.5 執行 ASP.NET MVC 5 網站出現 HTTP Error 403.14 的問題

今天在轉移 ASP.NET MVC 5 網站至客戶的 Windows Server 2008 R2 主機, 搭配的是 IIS 7.5 的版本



佈署執行後, 出現 HTTP Error 403.14 - Forbidden 的問題

HTTP Error 403 的問題也曾遇過, 但不是很確定之前是否也是 403.14 的錯誤代碼



2017/04/07

[VS2017] 解決更新至 Visual Studio 2017 v15.1 (26403.0) 時出現 .NET Core SDK 無法安裝問題

在近期的 Visual Studio 2017 提供的版本 15.1 (26403.0) Release 執行更新時, 出現安裝作業失敗





失敗的原因: 產品因為一或多個套件失敗,而無法安裝列出的工作負載及元件。

更進一步的原因是: 無法安裝套件 'Microsoft.Net.Core.SDK,version=15.0.26323.1,chip=x64'

2017/04/06

[IIS] IIS 7 增加 SVG 的 MIME Types

經常會遇到的狀況是在開發的機器通常都比正式上線的版本還要新, 在開發時期不會出現的問題, 通常到正式機時就會有一些眉角設定出現

我的開發環境: Windows 10 + IIS 10

今天佈署網站到客戶的主機環境是 Windows Server 2008 + IIS 7

開發的網站 ASP.NET MVC 5 需求 .NET Framework 4.5.2 以上, 更新這個部分是簡單的, 只要下載適當的 .NET Framework 版本並安裝, 大致上的基本設定都可以正確執行

而今天遇到的問題在網站佈署後發現 X 顯示不出來



2017/03/24

[SQL Server] 解決匯入 Excel 資料時出現 Microsoft.ACE.OLEDB.12.0 提供者並未登錄於本機電腦上的問題

前言

最近桌機的 SSD 系統碟在無預警的情況下掛掉, 系統設定全部重來, 只能順勢重整電腦軟體

一些系統重設會遇到的問題, 遇一個解決一個, 順便再做一下記錄


系統環境
  • Windows 10
  • SQL Server 2014
問題狀況

客戶提供 Excel 文件, 需要匯入到 SQL Server, 在執行過程中出現錯誤訊息
 Microsoft.ACE.OLEDB.12.0 提供者並未登錄於本機電腦上

2017/03/10

[VS2017] 如何讓舊的測試專案可以執行 Live Unit Testing

Visual Studio 2017 已經正式推出, 除了 Community 版本可以讓小型公司及個人開發免費下載使用以外. 最心動的功能就是 Enterprise 提供的 Live Unit Testing. 讓開發人員可以即時得知是否程式撰寫通過測試.

2017/01/28

[工具] plutil 轉換 plist 格式至 josn 格式

plutil 快速筆記

只要 Mac 上有安裝 Xcode 就可以用 plutil 來轉換檔案

詳細用法可以用 plutil -help 查詢

基本轉換用法
plutil -convert 轉換格式 原格式檔名 -o 輸出檔名

轉換 plist 為 json 格式
plutil -convert json file.plist -o file.json

2017/01/14

[MySQL] Laravel 在連接 MAMP 的 MySQL 出現 SQLSTATE[HY000] [2002] 錯誤的解決方法

今天在 Agile Tour Taichung 2017 工作坊的環境架設中,有學員遇到在實作 db migration 時出現 SQLSTATE[HY000] [2002] 的錯誤





由於這個錯誤訊息我本身已經遇到太多次了,多到一看到這個錯誤代碼就知道發生什麼事

但還是再做個記錄,也許又可以解救遇到相同的困擾的朋友們


2017/01/10

[SQL] MS SQL 使用複合 Unique 欄位語法

備忘筆記

ALTER TABLE [TableName] ADD UNIQUE ([Column1], [Column2]);


情境:

需要判斷 2 個以上欄位為唯一值時, 避免資料重覆

2017/01/01

Happy New Year 2017

Happy New Year 2017!

硬是要在 2017 年的第一天寫上一篇 blog

今年首要的執行專案全落在 ASP.NET MVC 5 的網站開發上

每開發一次專案,總會練功鍛鍊出新想法,新作法,要變得更好就要多吸收新知。

YouTube 一直是我學習的好朋友~

今天專注在 Unit Testing and TDD 的議題上

分享一下今天看的教學影片

https://www.youtube.com/playlist?list=PLdbkZkVDyKZXqPu-xDFkzuP66QijGeewz