Đỉnh NGUYỄN

life's a journey not a destination


Leave a comment

[VS2015] – Các tính năng mới trong Visual Studio 2015 Preview và VS2013 Update 4


ASP.NET 5 Preview runtime

Visual Studio hỗ trợ tạo và phát triển ASP.NET 5 Preview apps. ASP.NET 5 Preview là .NET stack xây dựng các ứng dụng web hiện đại cho cloud và on-premises server.

·         ASP.NET MVC và Web API được gom vào 1 mô hình lập trình đơn nhất.

·         Phát triển không cần biên dịch

·         Cấu hình môi trường cho các chuyển đổi đến cloud

·         Dependency injection out-of-the-box.

·         NuGet tất cả mọi thứ, thậm chí chính runtime của nó.

·         Chạy trong IIS, hoặc self-hosted trong tiến trình

·         Tất cả mã nguồn mở thông qua .NET Foundation, đóng góp trong GitHub.

·         ASP.NET 5 chạy trên Windows với .NET Framework hoặc .NET Core.

·         .NET Core là 1 runtime mới được tối ưu hóa cho cloud.

·         ASP.NET 5 chạy trên OS X và Linux với Mono runtime.

Visual Studio 2015 Preview gồm Beta1 runtime của ASP.NET 5.

Một số liên kết hữu ích để bắt đầu với ASP.NET 5 Preview.

·         Introduction: https://github.com/aspnet/Home

·         Documentation: https://github.com/aspnet/Home/wiki

·         Music Store Sample: https://github.com/aspnet/musicstore

ASP.NET 5 Preview tooling features

Để tối ưu hóa việc phát triển ASP.NET 5 Preview, xem các tính năng mới khi tạo project gồm các template mới, project system mới, combined IntelliSense hỗ trợ multi-framework targeting, và NuGet package manager mới.

Template

ASP.NET 5 Template

“ASP.NET 5 Empty” và “ASP.NET 5 Starter Web” template được thêm vào hộp thoại “New ASP.NET Project”.

clip_image001

“ASP.NET 5 Class Library” và “ASP.NET 5 Console Application” template được thêm vào “New Project” dialog dưới “Visual C#/Web”.

clip_image002

ASP.NET 5 Template dùng project structure mới

ASP.NET 5 project structure chứa tập tin cấu hình project.json, và tập tin project “.kproj”. ASP.NET 5 project template dùng project layout mới, tạo 1 project folder dưới <solutionFolder>\src, và dùng tập tin global.json để chỉ định project preference folder.

Global.json chứa “source”:[“src”], chỉ ra folder “src” làm parent folder của project reference. Mặc định, project-to-project preference lookup sẽ dùng parent directory, cộng với các thư mục được định nghĩa global.json. Ví dụ, chúng ta có solution structure và project.json dependency:

 

Solution1\global.json

Content: {" sources": ["src"] }

Solution1\src\WebApp1

Possible Dependencies: "ClassLib1 " : ""

Solution1\src\ClassLib1

Possible Dependencies: "WebApp1" : ""

Solution1\test\TestProj1

Possible Dependencies: "WebApp1" : "", "ClassLib1 " : "", "TestProj2 " : ""

Solution1\test\TestProj2

Possible Dependencies: "WebApp1" : "", "ClassLib1 " : "", "TestProj1 " : ""

 

 

ASP.NET 5 application template chứa target framework “aspnet50” và “aspnetcore50” được chỉ định trong project.json. Chúng hiển thị như “ASP.NET 5.0” và “ASP.NET Core 5.0” dưới Reference của solution explorer.

clip_image003

ASP.NET 5 web project template

ASP.NET 5 web project template chứa layout được tối ưu hóa cho cả static content và package restore từ NPMBower. Template đặt static content dưới wwwroot folder được xác định bởi thành phần webroot của project.json.

“ASP.NET 5 Starter Web” template chứa bower.json để dùng với Bower để lấy frontend package, package.json dùng với NPM để lấy Grunt, và gruntfile.js để quản lý task được định nghĩa bởi project.json script. File project.json của template chứa “postrestore” và “prepare” script để dùng NPM, cũng như Grunt và Bower để cài đặt các package cần thiết cho project trong khi build. Nó cũng dùng thành phần “packExclude” để định nghĩa các folder và file sẽ được excluded trong suốt “KPM pack”.

clip_image004

ASP.NET 5 Starter Web template và EF

ASP.NET 5 Starter Web template chứa code first migration cho Entity Framework 7.0.0-beta.

Bạn có thể dùng k command từ command line để thực hiện Entity Framework code first migration nếu bạn chỉ định “ef”:”EntityFramework.Commands” là 1 lệnh của project.json. Ví dụ:

“k ef migration” từ command line sẽ trả về:

 

Usage: ef migration [options] [command]

Options:

-h|–help Show help information

Commands:

add Add a new migration

apply Apply migrations to the database

list List the migrations

script Generate a SQL script from migrations

 

Sample commands:

 

k ef migration add MyMigrationWithOnly1ContextInCode

k ef migration add MyMigration –context MyContext

        k ef migration script –context MyContext

        k ef migration apply –context MyContext

 

“ASP.NET 5 Stater Web” template và command line scaffolding

Bạn có thể dùng command line scaffolding bởi vì “gen”:”Microsoft.Framework.CodeGeneration” được chỉ định là 1 thành phần của project.json.

Projects and Builds

Project file không còn gồm các project directory item và reference

ASP.NET 5 project dùng <projectName>.kproj làm tập tin project. File .kproj không gồm bất kỳ tập tin nào trong thư mục hiện tại hay các thư mục con.

Project.json được dùng định nghĩa project information

Visual Studio dùng tập tin project.json cho reference và package dependencies, version definition, framework configuration, compile option, build event, package creation meta-data, và run command,… Bằng cách này, project được chỉnh sửa để chạy trên Linux và Mac OS X mà không có Visual Studio.

Dependencies node cho Bower và NPM dependencies

Solution Explorer cho ASP.NET 5 Web Application có 1 Dependencies node để hiển thị Bower và NPM dependencies. Bower dependencies là từ bower.json trong project folder. NPM dependencies là từ package.json trong project folder.

Trong Dependencies node, dưới Bower và NPM node, bạn có thể uninstall 1 package thông qua context menu, nó sẽ được loại bỏ khỏi tập tin JSON.

clip_image005

References node hiển thị tất cả framework được định nghĩa trong project.json

Trong solution explorer, References node   hiển thị tất cả framework được định nghĩa trong project.json.

Project’s property page được dùng định nghĩa runtime info

Property Page dùng chỉ định KRE target version, debug target, và binary và NuGet package sẽ được tạo ra khi Visual Studio build.

clip_image006

clip_image007

clip_image008

Fast build time với Visual Studio

Visual Studio dùng Roslyn engine để biên dịch ASP.NET 5 project lúc design time. Vì thế project đã được biên dịch trước khi bạn dùng “build”. Trong Visual Studio 2015 Preview, Visual Studio đơn giản truyền các output của design time compiler đến build request. Điều này tránh việc chờ đợi build và tăng hiệu suất khi build, run, hoặc debug.

Hỗ trợ NuGet Package Manager

Visual Studio hỗ trợ NuGet Package Manager và NuGet Package Console.

Hỗ trợ xUnit test trong Text Explorer

Visual Studio hỗ trợ chạy và debug cho ASP.NET 5 xUnit test thông qua test explorer. Tất cả những gì cần làm là thêm xUnit dependencies và test command vào project.json như bên dưới (GHI CHÚ: để cài đặt xUnit package, cần phải thêm https://www.myget.org/F/aspnetvnext/api/v2 vào NuGet package source).

 

"dependencies": {

"Xunit.KRunner": "1.0.0-beta1"

},

"commands": {

"test": "Xunit.KRunner"

},

 

clip_image009

Từ command line, dùng k test để lấy running result, k.cmd là từ targeting hiện tại K Runtime Environment.

clip_image010

Hỗ trợ Task Runner Explorer

Task Runner Explorer được tích hợp vào Visual Studio, có thể enabled bằng cách chọn context menu của gruntfile.js trong Task Runner Explorer, hoặc thông qua menu View>Other Windows>Task Runner Explorer.

clip_image011

IntelliSense và Error list

IntelliSense có khả năng chỉ ra framework được hỗ trợ và không.

clip_image012

Build error hiển thị lỗi liên quan đến target framework

clip_image013

NuGet Package Manager

NuGet Package Manager được viết lại dùng tool window style và có thể được xem trên mỗi project và solution. Mỗi project có thể mở 1 NuGet Package Manager window tại 1 thời điểm.

clip_image014

(Theo www.asp.net)

Advertisements


Leave a comment

Một số thủ thuật gỡ rối mạnh của Visual Studio


Debug là 1 phần công việc rất quan trọng và không thể thiếu trong quá trình phát triển hần mềm. Quá trình phát triển của các công cụ debug trong những năm qua đã làm cho công việc debug trở nên dễ dàng hơn và đỡ mất thời gian hơn.

Sau đây là tổng hợp 10 thủ thuật và kỹ thuật giúp bạn tiết kiệm thời gian khi dùng Visual Studio

1. Di chuyển chuột để xem giá trị biểu thức

Debug có thể gặp khó khăn. Di chuyển từng bước trong 1 hàm để hiểu code sai chỗ nào, lần ngược để tìm các lời gọi hàm và xem giá trị các biểu thức…Trong trường hợp cần xem giá trị các biểu thức hoặc tìm danh sách các biến cục bộ có thể làm mất thời gian. Tuy nhiên, điều dễ dàng là nếu bạn chỉ cần di chuyển chuột lên vị trí biến, đối tượng, sau đó mở rộng các thành phần bằng cách click, bạn sẽ tìm thấy các thuộc tính nhanh chóng và thuận tiện.

2. Thay đổi giá trị on-the-fly

Trình debug còn là công cụ phân tích các nguy cơ và các hành vi gây lỗi. Nhiều lỗi được ngăn chặn bằng cách di chuyển từng bước trong các hàm mới được viết và kiểm tra hành vi của chúng có như mong đợi không. Đôi khi bạn tự hỏi, “hàm này có chạy đúng không nếu điều kiện là true?”, Và trong hầu hết trường hợp, không cần phải thay đổi mã hoặc debug lại. Chỉ việc di chuyển chuột lên biến, double click lên giá trị và thay đổi thành 1 giá trị mới và tiếp tục debug.

3. Gán câu lệnh kế tiếp

Một trường hợp debug điển hình là phân tích lý do 1 hàm gọi bị lỗi bằng cách di chuyển từng bước vào hàm. Và những gì bạn cần làm khi tìm ra hàm được gọi từ các hàm khác sinh ra lỗi? Restart lại quá trình debug? Có 1 ý tưởng hay hơn: chỉ cần kéo (drag) đánh dấu câu lệnh màu vàng đến dòng mà bạn muốn thực thi tiếp theo giống như hàm vừa bị lỗi, và đơn giản là debug vào hàm.

4. Chỉnh sửa và tiếp tục

Debug 1 chương trình phức tạp,  hoặc 1 plug-in? Tìm thấy 1 lỗi nhưng không muốn mất thời gian ngừng lại, biên dịch và debug trở lại lần nữa; hàm được gọi cũng dùng thủ thuật trước (3). Chỉ việc khắc phục bug và tiếp tục debug. Visual Studio sẽ chỉnh sửa chương trình và tiếp tục debug mà không cần restart quá trình debug.

Tuy nhiên, thủ thuật này có sự giới hạn. Trước tiên, nó không hoạt động trên các đoạn mã được viết cho HĐH 64-bit. Vào Project Settings, Build page, chọn Platform Target là x86. Đừng lo lắng, target platform sẽ do mình quyết định.

Thứ hai, thủ thuật này chỉ thực hiện được trong nội bộ 1 hàm. Nếu bạn thay đổi khai báo hàm, thêm mới hàm hoặc lớp thì phải restart lại quá trình debug.

5. Cửa sổ watch thuận tiện

Có lẽ mỗi debugger hiện đại đều có cửa sổ watch. Tuy nhiên điều tuyệt vời của Visual Studio là sự dễ dàng mà bạn có thể thêm hoặc gỡ bỏ các biến. Chỉ cần click 1 dòng rỗng, nhập biểu thức và nhấn enter. Hoặc đơn giản nhấn phím delete để xóa bỏ 1 biểu thức không còn dùng đến.

Thông tin nhận được từ cửa sổ watch không chỉ giới hạn là các biến bình thường. Bạn có thể nhập $handles để truy vết số lượng handles được mở bởi ứng dụng (và tìm các handle bị leak), $err để xem mã lỗi của hàm sau cùng (và dùng Tools –> Error Lookup để xem mô tả có nghĩa), hoặc @eax (@rax cho 64-bit) để xem thông tin giá trị trả về của 1 hàm.

6. Các breakpoint có điều kiện

Nếu trong chu kỳ tồn tại của ứng dụng cần debug có quá nhiều vị trí cần đặt breakpoint, bạn có thể dễ dàng đặt điều kiện cho chúng. Chỉ đơn giản đặt điều kiện cho 1 breakpoint và Visual Studio tự động bỏ qua breakpoint nếu điều kiện chưa đúng. Điều này đặc biệt hữu ích khi đoạn mã breakpoint được gọi quá nhiều lần rất mất thời gian debug.

7. Go to definition

Tính năng không liên quan trực tiếp đến debug, dùng để khám phá các project lớn. Nếu bạn tìm bug trong đoạn code mà bạn không tự tay viết thì thường bạn sẽ hỏi: “loại nó là gì, được khai báo ở đâu?” hoặc “hàm này làm việc gì?”.

8. Cửa sổ Command

Visual Studio hỗ trợ cửa sổ Command (View –> Other Windows –> Command Windows).


Leave a comment

Visual Studio 2010 Update for HTML 5 and CSS3


Microsoft vừa phát hành bản cập nhật Web Standards Update đầu tiên cho Visual Studio 2010 SP1 và Visual Web Developer Express 2010 SP1. Bản phát hành này cập nhật hỗ trợ HTML 5 và CSS 3 cũng như W3C specifications mới nhất. Đồng thời cũng hỗ trợ các API cho JavaScript Intellisense.

Download Web Standards Update for Visual Studio SP1

Để tìm hiểu nhiều hơn bản cập nhật này, xem các links sau:


Leave a comment

Microsoft giúp các nhà phát triển C++ đẩy mạnh lập trình song song


Công nghệ C++ AMP liên kết C++ với GPU, dự kiến sẽ trở thành một phần của trình biên dịch Visual C++ tiếp theo và được tích hợp với Visual Studio.

Microsoft giúp các nhà phát triển C++ đẩy mạnh lập trình song song

Microsoft đã giới thiệu công nghệ này cho các nhà phát triển C++ để tận dụng những đơn vị xử lý đồ họa (GPU) cho lập trình song song.

Công nghệ C++ AMP (C++ Accelerated Massive Parallelism) của công ty được kỳ vọng sẽ trở thành một phần của trình biên dịch Visual C++ tiếp theo và tích hợp với Visual Studio, ông S. Somasegar, Phó Chủ tịch của Bộ phận Nhà phát triển Microsoft cho biết trong một bài đăng blog.

Nó cũng sẽ tận dụng công nghệ Microsoft DirectX cho những khả năng đa phương tiện trong Windows. "Bằng việc xây dựng trên nền tảng Windows DirectX, sự thực thi (implementation) C++ AMP của chúng tôi cho phép bạn nhắm vào phần cứng từ tất cả các nhà sản xuất phần cứng lớn", ông Somasegar cho biết. “C++ AMP sẽ trở thành một đặc tả mở”.

Việc sử dụng GPU trong tính toán song song theo sau nhiều xu hướng khác (chẳng hạn như lập trình đa lõi), ông Somasegar cho biết. "Trong vài năm qua, chúng tôi đã thấy xu hướng các nhà phát triển tận dụng lợi thế của GPU cho nhiều mục đích tính toán", ông Somasegar nói. "Vì vậy, như chúng tôi đã thực hiện với đa lõi trước đây, chúng tôi sẽ mang khả năng này đến với phiên bản tiếp theo của Visual Studio".

Microsoft cũng đã thông báo những cải tiến cho các phiên bản tiếp theo của Parallel Patterns Library (PPL) và C++ Concurrency Runtime. "Việc sử dụng các mẫu (template) C++, hỗ trợ thời gian chạy sẽ khá dễ dàng trên bất kỳ phần cứng được cung cấp nào với PPL, Agent và C++ Concurrency Runtime. Với C++ AMP và PPL, chúng tôi nhắm làm cho phiên bản Visual Studio tiếp theo thành môi trường hiệu quả nhất cho các phần cứng không đồng nhất", ông Somasegar cho biết.

Theo PC World VN


Leave a comment

Visual Studio 2010 SP1 Beta được phát hành


Ngày 09/12/2010, Microsoft phát hành phiên bản Service Pack beta đầu tiên (SP1) dành cho Visual Studio 2010.

* Download Visual Studio 2010 Service Pack 1 Beta (chỉ dành cho thuê bao MSDN).

* Download Visual Studio 2010 Service Pack 1 Beta (dành cho tất cả mọi người)

Trong số các điểm mới trong bản SP1 Beta mà Jason đã nhấn mạnh trong blog của ông ấy.

* IntelliTrace hỗ trợ cho nền tảng 64bit và SharePoint.

* Performance Wizard dành cho Silverlight.

* Unit Testing trong .NET 3.5.

* Silverlight 4 Tools được tích hợp

Lưu ý: Nếu đang dùng ASP.NET MVC 3 RC, VS 2010 SP1 Beta sẽ làm Razor IntelliSense không hoạt động. Tuy nhiên, nhóm MVC sẽ làm việc và fix nó vào đầu tuần tới. Nó cũng ảnh hưởng đến Visual Studio Async CTP và tôi sẽ cập nhật blog này khi bản vá có sẵn. Đến thờI điểm này, nếu bạn vẫn muốn dùng Visual Studio Async CTP, hãy dùng vẫn dùng VS 2010 RTM và đừng vội nâng cấp lên SP1 beta.


Leave a comment

Debug .NET sâu vào mã nguồn Framework 4.0


Hướng dẫn cấu hình Visual Studio 2010 debug sâu vào source code của .NET Framework 4.0.

1. Tải source code

Vào trang http://referencesource.microsoft.com/netframework.aspx và tải về mã nguồn .NET Framework 4.0 (175 MB)

image

2. Cài đặt .NET Framework symbols

Cài đặt “Net_4.msi” đã tải về ở bước 1 (ví dụ: D:\RefSrc). Kích thước sau khi cài đặt khoảng 1 GB (gồm source và symbols)

image

3. Cấu hình Visual Studio

Thay đổi cấu hình trong hộp thoại Option từ menu Tools như sau:

image

Chọn Symbols trong menu Debugging. Thêm mới Symbols path, click lên hình folder.

image

Bây giờ, bạn có thể nhấn F11 (Step Into) để debug sâu vào mã nguồn .NET Framework.

4. Xử lý sự cố

Nếu gặp lỗi hoặc không thể debug vào mã nguồn .NET Framework

* Chắc rằng bạn đang debug chương trình trên nền .NET Framework 4.0

image

* Chắc rằng bạn không cài .NET Framework source code vào \Program Files\ vì thư mục này hạn chế quyền ghi. Nếu đã lỡ càI đặt vào, chạy Visual Studio với quyền Administrator (click phải lên biểu tượng Visual Studio, chọn Run As Administrator) hoặc chỉ cần thay đổI thư mục cache sang vị trí có quyền ghi.

* Trong khi debug, click phải lên CallStack, trên hàm .NET Framework, chọn “Load Symbols From” và chọn “Symbol Path”.

image

Chúc thành công!


Leave a comment

Tự động chèn dấu nháy kép (“) vào thuộc tính HTML trong Visual Studio


Mở Visual Studio 2008 > Tools > Options > Text Editor > HTML > Format

Tại Automatic formatting options, chọn “Insert attribute value quotes when typing”

image

Và kể từ bây giờ, mỗi khi gõ thuộc tính HTML trong Visual Studio, giá trị của nó sẽ nằm trong cặp dấu nháy kép (“")

Ví dụ: Khi gõ

<input id=

ký tự nháy kép sẽ được chèn tự động, kết quả là

<input id=""


Leave a comment

Tạo Visual Guidelines bên trong Visual Studio


Đây là 1 thủ thuật đã xuất hiện từ lâu trong Visual Studio nhưng cũng thật ngạc nhiên là nhiều người không biết về nó. Nó có thể tạo ra Visual Guidelines bên trong Visual Studio giúp bạn biết khi nào nên bắt đầu 1 dòng mới. Không bắt buộc bạn phải ngắt mã viết trên nhiều dòng, nhưng như thế sẽ dễ đọc, và Guidelines giúp bạn làm điều này tốt hơn.

Để bật đặc tính này, mở Regedit và tìm đến

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Text Editor

Thêm 1 giá trị kiểu String đặt tên là Guides

Gán giá trị là RGB(128,0,0)8,50

Màu của đường Guidelines theo dạng RBG, nếu không thích màu đỏ, bạn có thể tùy biến. Hai ký số sau cùng liên quan đến tọa độ tính từ bên trái của 2 đường Guidelines sẽ hiện tra trong Editor.