misc.log

日常茶飯事とお仕事と

VB.NET C#とVisual Studio、.NET Framework

開発で使っているツール等について、正直、最近のバージョンが何がどうなのかよく分からなくなってきました。開発チーム向けの環境関連資料を整備するついでに自分用の情報をメモしておきます。

Visual Studio 2017と.NET Framework

Visual Studio 2017では.NET Framework 4.7を用いた開発が可能ですが、フレームワークのリリース時期とVisual Studioのリリース時期がずれたためかVisual Studioインストール直後では.NET Framework 4.7は選べません(たしか)。プロジェクトのプロパティにある「ターゲットフレームワーク」から「その他のFramework」を選択し、4.7のSDKをインストールする必要があるかもしれませんので開発を始める前に確認しましょう。

Visual Studio 2017で使える各言語

とりあえずC#VBに限って言うと次のバージョンが使えるようですね。

ただしいずれも、最新の機能はターゲットフレームワークの選択によって使えない場合があります。

たとえばVB.NETの場合、Version 15.0で値タプル(ValueTuple)が新しくサポートされました。プロジェクトのターゲットフレームワークを4.7にして、フォームにボタンを1つ貼り、こんなコードを書くと動きを確認できます。

Public Class Form1

    Public Function GetTestValue() As (Integer, String)

        Return (Int32.MaxValue, String.Empty)

    End Function

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim testValue As (Integer, String) = GetTestValue()
        MessageBox.Show(testValue.Item1.ToString())

    End Sub

End Class

これが動けばVB.NET 15.0が動いているということになります。念のためプロジェクトのターゲットフレームワークを4.6.2などに変更すると「定義済みの型 'ValueTuple(Of ,)' は、定義、またはインポートされていません。」というエラーが発生してしまいます。

関連情報

blogs.msdn.microsoft.com

作って覚える Visual Basic 2017 デスクトップアプリ入門

作って覚える Visual Basic 2017 デスクトップアプリ入門

Effective C# 6.0/7.0

Effective C# 6.0/7.0