XAML in Xamarin.Forms 基礎篇 電子書

XAML in Xamarin.Forms 基礎篇 電子書
XAML in Xamarin.Forms 基礎篇 電子書

Xamarin.Forms 快速入門 電子書

Xamarin.Forms 快速入門 電子書
Xamarin.Forms 快速入門 電子書
顯示具有 vNext 標籤的文章。 顯示所有文章
顯示具有 vNext 標籤的文章。 顯示所有文章

2014/06/24

Visual Studio "14" CTP 與 Azure,讓您立即體驗 VS2014的新功能

微軟最近推出了下一代的Visual Studio版本,代號叫做 Visual Studio “14”,不過,想要體驗與試用這個軟體,要去下載,而且可能會與現在使用的Visual Studio 2013/2012/2010相衝突,又不想自己使用另外一台機器來安裝這樣的環境或者自己建立一個虛擬主機VM。

最近從我的 MSDN所提供的 Azure 服務中,無意間看到了 Azure 的虛擬主機 VM 服務,正好有提供一款虛擬主機,已經幫您準備好了 [Visual Studio 14 CTP 1]的環境,二話不囉嗦,馬上建立起來,看看有甚麼新功能在未來要推出的 Visual Studio 上呢?

首先,進入您的 Azure 服務網頁,選擇[虛擬主機] > [新增],此時會出現如下圖的畫面,請依序選擇 [計算] > [虛擬主機] > [從組件庫] 選項。


在出現 [建立虛擬機器] 的 [選擇映像] 畫面後,捲動可以選擇的虛擬主機映像,您會看到 Visual Studio Professional 14 CTP 1 (Windows Server 2012 R2),請選擇這個項目。

接這設定您的虛擬機器組態,這包含了虛擬機器名稱(自行決定)、層次(我使用標準)、大小(我選擇 A2 (2核心,3.5GB記憶體)、最後請輸入要登入該虛擬機器的帳號與密碼。

在第三個步驟頁面,關於設定值:雲端服務、雲端服務 DNS 名稱、區域/同質群組/虛擬網路、儲存體帳戶、可用性設定組的參數,我都是維持系統預設的。
在最後一個步驟哩,我選擇了不 [安裝 VM 代理程式],這樣就完成了這台虛擬機器的設定,稍帶一段時間,Azure VM 就建立好了。

此時在 Azure 儀表板上,可看到文字:
VulcanVS14 正在啟動 (正在佈建) Windows Azure MSDN - Visual Studio Professional

一旦虛擬主機建置完成後,馬上利用遠端桌面連上這台剛剛建立好的虛擬機器,登入完成後,在桌面,很快地看到了 [Visual Studio 14 CTP] 圖示,想當然耳的,就是馬上打開來瞧瞧囉。

第一次啟動的選擇設定,這部分似乎沒有太多的變化。
接著要稍待一段時間,做第一次的啟動。
不知道為什麼,Visual Studio Professional 14 CTP一定要我做 Sing in的動作,所以,沒有辦法,只好登入到我的 Microsoft Account Live ID了。
Sign in to Visual Studio
Visual Studio will help you play projects, collaborate with your team, and manage your code online from anywhere.

Visual Studio will automatically keep you signed in, sync your settings between devices, and connect to online developer serivces.


登入完成後,接著建立一個新的專案。
不過,觀察了一下,關於 [Store Apps]類型的專案,似乎和 Visual Studio 2013沒有太大的差異,所以,我選擇了 [Web] 類型的專案,接著選擇 [ASP.NET vNext Web Application] ,看看產生了甚麼?

好像沒有看到 Web.config了,所以,我將 config.json & HomeController.cs & Startup.cs 的內容貼出來。

[config.json]
{
    "Data": {
        "DefaultConnection": { 
            "ConnectionString": "Server=(localdb)\\mssqllocaldb;Database=aspnetvnext-e3cd9372-49c2-4e9c-b97d-aa146a1185dd;Trusted_Connection=True;MultipleActiveResultSets=true"
        }
    }
}

[Startup.cs]
using System;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.Security;
using Microsoft.AspNet.Routing;
using Microsoft.AspNet.Security.Cookies;
using Microsoft.Data.Entity;
using Microsoft.Framework.ConfigurationModel;
using Microsoft.Framework.DependencyInjection;
using WebApplication1.Models;

namespace WebApplication1
{
    public class Startup
    {
        public void Configure(IBuilder app)
        {
            // Enable Browser Link support
            app.UseBrowserLink();

            // Setup configuration sources
            var configuration = new Configuration();
            configuration.AddJsonFile("config.json");
            configuration.AddEnvironmentVariables();

            // Set up application services
            app.UseServices(services =>
            {
                // Add EF services to the services container
                services.AddEntityFramework()
                    .AddSqlServer();

                // Configure DbContext
                services.SetupOptions(options =>
                {
                    options.UseSqlServer(configuration.Get("Data:DefaultConnection:ConnectionString"));
                });
                
                // Add Identity services to the services container
                services.AddIdentity()
                    .AddEntityFramework()
                    .AddHttpSignIn();

                // Add MVC services to the services container
                services.AddMvc();
            });

            // Add static files to the request pipeline
            app.UseStaticFiles();

            // Add cookie-based authentication to the request pipeline
            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                LoginPath = new PathString("/Account/Login"),
            });

            // Add MVC to the request pipeline
            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default", 
                    template: "{controller}/{action}/{id?}",
                    defaults: new { controller = "Home", action = "Index" });

                routes.MapRoute(
                    name: "api",
                    template: "{controller}/{id?}");
            });
        }
    }
}

[HomeController.cs]
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNet.Mvc;

namespace WebApplication1.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

        public IActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public IActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}

若您有 Microsoft Azure 的帳號,可以馬上來體驗一下,若您沒有的話,那也沒關係,因為您可以馬上申請試用 Azure 服務,試用期間是不用錢的。

微軟 Azure 官方網站