2016年12月9日 星期五

泛型型別的Display Template

 

Tool:Visual Studio 2015 Ultimate Update 3
OS:Windows 10
.NET Framework : 4.6.x
ASP.NET MVC 5.x

Q :如何為泛型型別定義Display Template?

2016年12月1日 星期四

ASP.NET Core沒有Server.MapPath

 

Tool:Visual Studio 2015 Ultimate Update 3
OS:Windows 10
.NET Core  1.0.0
ASP.NET Core 1.0.0

掰,ASP.NET Core沒有Server.MapPath可用了。

如果想要在ASP.NET Core做到如Server.MapPath的效果,取得網站程式執行的資料夾位置,現在得透過IHostingEnvironment。

2016年11月30日 星期三

TagHelper不顯示伺服端驗證錯誤訊息

 

Tool:Visual Studio 2015 Ultimate Update 3
OS:Windows 10
.NET Core  1.0.0
ASP.NET Core 1.0.0

問題:在文字方塊後使用asp-validation-for進行驗證:

<span asp-validation-for="Id"/>

但在asp-validation-for在伺服端驗證發生錯誤時,不會顯示錯誤訊息:

image

2016年11月28日 星期一

Console App(.NET Core)轉換成ASP.NET Core Web App

 

Tool:Visual Studio 2015 Ultimate Update 3
OS:Windows 10
.NET Core  1.0.0
ASP.NET Core 1.0.0

將 Console Application(.NET Core)轉換成ASP.NET Core Web Application(.NET Core)的過程中,使用Visual Studio 2015以IIS Express啟動網站,結果發生錯誤:

The project does't not know how to run the profile IIS Express.

image

 

2016年11月23日 星期三

掰,project.json

 

在Visual Studio 2015開發.NET Core與ASP.NET Core專案時,將原來相依組件的參照拆到project.json檔案中,還沒跟它搞熟呢,沒想到微軟又出了:

.NET Core Tools MSBuild “alpha” 工具

參考這篇文章

2016年11月21日 星期一

C# 7 Tuple Types與Tuple Literals

 

Tool:Visual Studio 2017 RC
OS:Windows Server 2012
.NET Framework : 4.5.2、C# 7

C# 7 新增語法新增tuple types 與 tuple literals。可以讓C# Function回傳兩個以上的值。 以下步驟,在Visual Studio 2017 RC版,建立一個Console程式進行測試。

2016年10月14日 星期五

變更Anti-Forgery cookie名稱

Tool:Visual Studio 2015 Ultimate Update 3
OS:Windows 10
.NET Framework : 4.6.x
ASP.NET MVC 5.x

為了防止Cross-site request forgery (AKA XSRF or CSRF,相關說明可參考此篇文章) 在AS.PNET MVC程式中會使用Html.AntiForgeryToken( ) 方法來產生Anti-Forgery cookie:

@using ( Html.BeginForm( ) ) {
  @Html.AntiForgeryToken( )
  <input type="submit"  />
}

2016年10月12日 星期三

Q&A:Entity Framework更新資料表部分欄位

Tool:Visual Studio 2015 Ultimate Update 3
OS:Windows 10
.NET Framework : 4.6.x
Entity Framework 6.x

Q:如何在Entity Framework 開發方式中,只更新資料表部分欄位?

2016年9月2日 星期五

ASP.NET Core Template Pack

Tool:Visual Studio 2015 Enterprise Update 3
OS:Windows 10
ASP.NET Core 1.0、.NET Core Tooling Preview 2

 

ASP.NET Core Template Pack新出多個範本專案,可以不用從無到有加裝套件。

VSCode ES2015 CodeSnippet


Tool:Visual Studio Code 1.4.0
OS:Windows 10
Node.js 6.x、ECMAScript 2015

本文介紹如何在Visual Studio Code安裝ECMAScript 2015 程式碼片段擴充程式 (CodeSnippet),這樣可以利用快速鍵來加快寫程式的速度。

2016年9月1日 星期四

在VS Code執行JavaScript


Tool:Visual Studio Code 1.4.0
OS:Windows 10
Node.js 6.x、ECMAScript 2015

本文介紹如何使用Visual Studio Code和Node.js執行ECMAScript 2015程式

使用VS Code撰寫ECMAScript 2015程式


Tool:Visual Studio Code 1.4.0
OS:Windows 10
Node.js 6.x、ECMAScript 2015

本文介紹如何使用Visual Studio Code撰寫第一個ECMAScript 2015程式,然後使用Node.js來執行它。

2016年8月30日 星期二

Visual Studio Code初體驗

Tool:Visual Studio Code 1.4.0
OS:Windows 10
ASP.NET Core 1.0、.NET Core SDK

本文介紹如何使用Visual Studio Code撰寫第一個c#程式。

2016年8月2日 星期二

Node.js–使用Babel

Tool:Visual Studio 2015 Enterprise Update 3、Node.js Tools 1.2 for Visual Studio 2015
OS:Windows 10
Node.js、JavaScript

目前大部份的瀏覽器都尚未支援ECMAScript 2015的所有功能,因此你可以使用一些編譯器(transpiler),將ECMAScript 2015(ECMAScript 6)的語法轉換為ECMAScript 5相容的程式碼,這樣才能在目前的瀏覽器中順例執行。常見的transpiler包含 Babel、Webstack等,以下說明如何使用Babel。

Node.js–使用Http-server

 

Tool:Visual Studio 2015 Enterprise Update 3、Node.js Tools 1.2 for Visual Studio 2015
OS:Windows 10
Node.js、JavaScript

Http-server是個簡易版,適合在開發階段使用的輕量級Web伺服器。以下說明如何在Visual Studio使用它們。

2016年7月27日 星期三

VS2013 MVC 5專案升級VS2015

 

Tool:Visual Studio 2015 Ultimate Update 3
OS:Windows 10
.NET Framework : 4.6.x

將VS 2013 MVC專案,拿到VS2015的環境開起來,雖然程式可以正確編譯,但執行網站產生錯誤,訊息:

 

Could not load file or assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

2016年7月13日 星期三

EF Power Tools for VS2015

 

Tool:Visual Studio 2015 Ultimate Update 3 + Entity Framework Power Tools
OS:Windows 10
.NET Framework : 4.6.x

Entity Framework Power Tools的功能可參考[這篇文章]。

根據[這篇文章]的說明,在Visual Studio 2015 試了一下,若要在Visual Studio 2015 使用Entity Framework Power Tools,可以採用以下步驟:

2016年6月28日 星期二

ASP.NET Core 1.0安裝

Tool:Visual Studio 2015 Enterprise Update 3
OS:Windows 10
ASP.NET Core 1.0

ASP.NET Core 1.0安裝筆記。

2016年5月27日 星期五

使用PowerShell啟用MongoDB

 

Tools:PowerShell ISE
DB:MongoDB 3.2
OS:Windows 10

每次要測試MongoDB都要手動下指令啟用資料庫,有點麻煩,於是就想到用PowerShell來自動化做這件事。

2016年5月26日 星期四

ASP.NET Core RC2安裝

Tool:Visual Studio 2015 Enterprise Update 2
OS:Windows 10
ASP.NET Core RC2

ASP.NET Core RC2安裝筆記。

2016年5月22日 星期日

使用Node.js 查詢與刪除MongoDB資料

 

Tool:Visual Studio 2015 Enterprise Update 1、Node.js Tools 1.1.1 for Visual Studio 2015
DB:MongoDB 3.2
OS:Windows 10
Node.js、JavaScript

本文為利用Visual Studio 2015工具,使用Node.js 存取MongoDB的筆記。在進行之前:

  • 需要事先安裝VS相關開發環境,請參考這篇
  • 需要事先安裝MongoDB,請參考這篇

這篇文章將介紹如何使用Node.js 查詢與刪除MongoDB資料。

2016年5月21日 星期六

使用Node.js 修改MongoDB資料

 

Tool:Visual Studio 2015 Enterprise Update 1、Node.js Tools 1.1.1 for Visual Studio 2015
DB:MongoDB 3.2
OS:Windows 10
Node.js、JavaScript

本文為利用Visual Studio 2015工具,使用Node.js 存取MongoDB的筆記。在進行之前:

  • 需要事先安裝VS相關開發環境,請參考這篇
  • 需要事先安裝MongoDB,請參考這篇

這篇文章將介紹如何使用Node.js 修改MongoDB資料。

2016年5月20日 星期五

使用Node.js 新增資料到MongoDB

 

Tool:Visual Studio 2015 Enterprise Update 1、Node.js Tools 1.1.1 for Visual Studio 2015
DB:MongoDB 3.2
OS:Windows 10
Node.js、JavaScript

本文為利用Visual Studio 2015工具,使用Node.js 存取MongoDB的筆記。在進行之前:

  • 需要事先安裝VS相關開發環境,請參考這篇
  • 需要事先安裝MongoDB,請參考這篇

這篇文章將介紹如何使用Node.js 新增資料到MongoDB。

2016年5月13日 星期五

Node.js – Path

Tool:Visual Studio 2015 Enterprise Update 1、Node.js Tools 1.1.1 for Visual Studio 2015
OS:Windows 10
Node.js v6.1.0、JavaScript

此為使用Visual Studio 2015開發Node.js程式的筆記。 本文介紹常用檔案與路徑的屬性與變數與path Module。

2016年5月12日 星期四

Node.js–使用環境變數

Tool:Visual Studio 2015 Enterprise Update 1、Node.js Tools 1.1.1 for Visual Studio 2015
OS:Windows 10
Node.js v6.1.0、JavaScript

此為使用Visual Studio 2015開發Node.js程式的筆記。

環境變數(Environment variables)可用於設定應用程式多種執行模式,如開發模式、除錯模式、production模式。以下是自訂環境變數的方法。

 

Chrome getUserMedia error

 

在網頁程式使用 Navigator.getUserMedia() 要求取得用戶端的WebCam或麥克風時,若用戶端瀏覽器是Chrome會出現以下錯誤訊息:

Permissions have not been granted to use your camera and microphone, you need to allow the page access to your devices in order for the demo to work.
getUserMedia error: PermissionDeniedError

除非透過HTTPS,才能夠正常運作(Firefox則目前無此限制)。

Node.js–處理靜態文件

 

Tool:Visual Studio 2015 Enterprise Update 1、Node.js Tools 1.1.1 for Visual Studio 2015
OS:Windows 10
Node.js v6.1.0、JavaScript

此為使用Visual Studio 2015開發Node.js程式的筆記,本文使用node-static 模組,提供伺服端處理靜態文件的請求,如HTML檔案。

2016年4月20日 星期三

Node.js-使用外部Module

Tool:Visual Studio 2015 Enterprise Update 1、Node.js Tools 1.1.1 for Visual Studio 2015
OS:Windows 10
Node.js、JavaScript

Q:如何使用外部Module檔案中的程式碼?

2016年4月15日 星期五

Node.js-使用Express


Tool:Visual Studio 2015 Enterprise Update 1、Node.js Tools 1.1.1 for Visual Studio 2015
OS:Windows 10
Node.js、JavaScript

有好的Framework可以帶你上天堂,少寫許多程式碼。Express是一個廣為流行的Web Framework可以搭配Node.js來開發網站程式。本文將使用Visual Studio建立一個空白的Node.js網站,在專案中加入Express套件,使用Jade做為View的引擎,設計使用者介面。網站中包含兩個網頁,一為首頁(Index);一為員工資料(employee)。

2016年4月14日 星期四

Node.js–使用Socket.IO

Tool:Visual Studio 2015 Enterprise Update 1、Node.js Tools 1.1.1 for Visual Studio 2015
OS:Windows 10
Node.js、JavaScript

此為使用Visual Studio 2015開發Node.js程式的筆記,本文使用Socket.IO,讓用戶端和伺服端可以建立WebSocket連線,互傳訊息。

本文延續使用<<Node.js 檔案存取>>一文建立的專案往下開發。

2016年4月13日 星期三

Node.js 檔案存取

Tool:Visual Studio 2015 Enterprise Update 1、Node.js Tools 1.1.1 for Visual Studio 2015
OS:Windows 10
Node.js、JavaScript

此為使用Visual Studio 2015開發Node.js程式的筆記,本文使用File IO功能,讀取HTML檔案內容,並送到瀏覽器呈現。

2016年4月12日 星期二

使用Node.js撰寫簡單的HTTP Server

Tool:Visual Studio 2015 Enterprise Update 1、Node.js Tools 1.1.1 for Visual Studio 2015
OS:Windows 10
Node.js、JavaScript

以下是使用Visual Studio 2015 開發工具,透過Node.js,建立簡單的HTTP Server的步驟。

2016年4月11日 星期一

Hello World Node.js

 

Tool:Visual Studio 2015 Enterprise Update 1、Node.js Tools 1.1.1 for Visual Studio 2015
OS:Windows 10
Node.js、JavaScript

這是使用Visual Studio 開發的第一個Node.js HelloWorld程式。

2016年4月10日 星期日

使用Node.js 存取MongoDB

Tool:Visual Studio 2015 Enterprise Update 1、Node.js Tools 1.1.1 for Visual Studio 2015
DB:MongoDB 3.2
OS:Windows 10
Node.js、JavaScript

本文為利用Visual Studio 2015工具,使用Node.js 存取MongoDB的筆記。在進行之前:

  • 需要事先安裝VS相關開發環境,請參考這篇
  • 需要事先安裝MongoDB,請參考這篇

2016年4月9日 星期六

使用C#存取MongoDB

Tool:Visual Studio 2015 Enterprise Update 1
DB:MongoDB 3.2
OS:Windows 10
C#

以下為測試使用C#存取MongoDB的小筆記。要使用MongoDB之前,需要先安裝MongoDB環境,可以參考這篇文章

2016年4月8日 星期五

MongoDB安裝與設定

DB:MongoDB 3.2
OS:Windows 10

以下步驟說明如何在Windows 10  (64bit) 安裝MongoDB,以及匯入範例資料庫。

2016年4月7日 星期四

使用Visual Studio 2015開發Node.js - 環境安裝

 

Tool:Visual Studio 2015 Enterprise Update 1、Node.js Tools 1.1.1 for Visual Studio 2015
OS:Windows 10
Node.js、JavaScript

以下是使用Visual Studio 2015開發Node.js 開發環境安裝步驟。

2016年4月1日 星期五

Could not load file or assembly (2)

Tool:Visual Studio 2015 Enterprise Update 1
OS:Windows 10、IIS 10
.NET Framework 4.6.1、ASP.NET MVC 5.2.3

解法一與解法二請參考這裏

解法三

這個解法實際上和解法一一樣,解決從網際網路下載ASP.NET MVC時,檔案被封鎖的問題,造成在Package Manager Console下指令會出錯。此解法是利用工具來處理這個問題,簡化操作步驟。

 

2016年3月31日 星期四

Could not load file or assembly

 

Tool:Visual Studio 2015 Enterprise Update 1
OS:Windows 10、IIS 10
.NET Framework 4.6.1、ASP.NET MVC 5.2.3

若從遠端(如網際網路)下載一些ASP.NET MVC專案,尤其是專案中使用到Entity Framework時,Package Manager Console就會遇到一些無法載入組件的訊息,例如:

Exception calling "LoadFrom" with "1" argument(s): "Could not load file or assembly ….

2016年3月25日 星期五

使用makecert.exe建立憑證以啟用SSL(IIS10)

 

Tool:Visual Studio 2015 Enterprise Update 1、Windows Software Development Kit (SDK) for Windows 10
OS:Windows 10、IIS 10
.NET Framework 4.6.1

在開發階段常常需要測試用的憑證,例如想要啟用SSL功能。在IIS 10管理畫面中,可以利用Server Certificates 的Create Self-Signed Certificate功能,建立自我簽章憑證,以方便開發測試SSL

image

。不過測試的結果發現它所建立的演算法是使用SHA1,因此使用瀏覽器存取到SSL網站時,總出現憑證錯誤訊息。

2016年3月14日 星期一

Microsoft Visual Studio 2015 Installer Projects

 

Tool:Visual Studio 2015 Enterprise Update 1、Microsoft Visual Studio 2015 Installer Projects
OS:Windows 10
.NET Framework 4.6.1

在Visual Studio 2010版可以使用Setup Project開發專案的安裝程式,以便將專案封裝成安裝檔再進行部署。但後續Visual Studio 的版本,則將此功能移除了,另外提供一個第三協力廠商的工具, InstallShield簡易版,來完成安裝專案的設計。在Visual Studio 2015版本,你可以手動將Setup Project加回Visual Studio了。

2016年2月24日 星期三

Q&A:使用DataTable產生SelectList

 

Tool:Visual Studio 2015 Enterprise
OS:Windows 10
.NET Framework 4.6、ASP.NET MVC 5.2.3

Q:在MVC的專案中使用ADO.NET將資料庫查出來,放到DataTable,將DataTable中的值做為View的下拉式選單的資料。

A:要把資料提供給下拉式清單方塊做使用時,需要把資料包在SelectList物件之中,不過直接將DataTable丟到SelectList的建構函式之中並無法運作,這時可以這樣做:

2016年2月1日 星期一

在Web Application使用Add Reference 參考 Shared Project

 

Tool:Visual Studio 2015 Enterprise Update1
OS:Windows 10
Visual Basic

Shared Project可以讓你在不同類型的專案之中,共享程式碼。不過使用Visual Studio 2015 建立VB專案,在主控台類型程式,可以選取Project –> Add Reference – > Shared Project,就可以在Console專案中引用Shared Project:image

而在Web Application類型的專案中,則無此選項,沒法選到Shared Project:

image

 

 

2016年1月28日 星期四

C# Interactive 視窗

 

Tool:Visual Studio 2015 Enterprise Update1
OS:Windows 10
C# 6

在Visual Studio 2015 Update 1版本中,新增C# Interactive 視窗,它是一個即時運算視窗,可以讓你測試C#語法,或使用.NET Framework的功能。

C# Interactive 視窗可以

  • 支援智慧型提示 (IntelliSense) 功能,方便撰寫程式碼來進行測試。
  • 支援syntax-coloring
  • 支援Script檔,搭配csi執行
  • more…

 

2016年1月14日 星期四

VS2015-Enable C# 6/ VB14選項

 

Tool:Visual Studio 2015 Enterprise Update1
OS:Windows 10
C# 6

預設使用Visual Studio File->New-> Web Site(或專案Project)建立一個.NET Framework 4版的Web Site,不能使用C#6/VB14的語法,即使切換成.NET Framework 4.6.1版,也是一樣看不懂,例如:

image

 

2016年1月13日 星期三

Tips : Word - 錯誤! 尚未定義書籤

 

Tool:Microsoft Word 2013
OS:Windows 10

在Word 2013文件中,如果使用到目錄、交互參照功能時,常常在複製資料之後,複製的資料常常會出現

「錯誤! 尚未定義書籤」的錯誤訊息。

 

2016年1月6日 星期三

Immutable集合-ImmutableHashSet與ImmutableSortedSet

Tool:Visual Studio 2015 Enterprise
OS:Windows 10
.NET Framework 4.6

若想要有一個集合,可以儲存不重複的項目,又不常變動,並且要支援Thread Safe的功能,可以使用.NET Framework 4.5版新增的System.Collections.Immutable命名空間下的ImmutableHashSet類別。

這個集合真是太好用了。

 

Immutable集合-ImmutableQueue與ImmutableStack

Tool:Visual Studio 2015 Enterprise
OS:Windows 10
.NET Framework 4.6

在.NET Framework 4.5版新增一些不可變的集合物件,當集合中的內容不常變動,且想要以Thread Safe的方式操作集合時,便可以使用定義在 System.Collections.Immutable命名空間下的類別,例如ImmutableQueue(佇列)與ImmutableStack(堆疊)。

總瀏覽量