Visual Studio Dev Essentialsを使い始めました

いつ始めようか迷っていたVisual Studio Dev Essentialsをようやく使うことにしました。

いずれ利用するつもりのMicrosoft パートナーネットワークのアクションパックに申し込む前に、これを使って色々調べようと思います。

ただ、Azureの3000円/月の無料枠を使うつもりでしたが、ここにあるように去年で廃止されていました。新しい無料枠はリソースの種類が決まっているようです。仮想マシンがB1Sサイズなのはともかく、管理ディスクがSSDで64GB使えるのはうれしいところです。

実際にDev Essentialsを申し込む場合に、事前に用意するのは以下です。

  • クレジットカード
  • 携帯電話
  • マイクロソフトアカウント

以下の手順で申し込みます。

1. Visual StudioのDev Essentialsページから「今すぐ参加またはアクセス」をクリックします。
2. サインイン画面になるので、マイクロソフトアカウントのユーザー名とパスワードを入力します。
3. My Visual StudioのHome画面に飛ぶので、ここにある「Azure」の「アクティブ化」をクリックします。
4. Azureの契約情報を入力していきます。

  • 国/地域
  • 電子メールアドレス
  • 電話
  • 名の読み方
  • 姓の読み方

5. 電話による本人確認では電話番号を入力してテキストメッセージ(SMS)か電話する(自動音声)を選択します。
6. 選択した方法で確認コードが送られてきます。
7. 6桁の数字による確認コードを入力して「コードの確認」をクリックします。
8. クレジットカードや住所などの情報を入力します。
9. 初期のままだと実際に課金されることは無いので心配は不要です。

  • カード番号
  • 有効期限
  • セキュリティコード
  • クレジットカードの名義
  • 郵便番号
  • 都道府県
  • 市区町村
  • 住所1

10. アグリーメントとして同意のチェックボックスをチェックします。
11. 最後に「サインアップ」をクリックします。

情報確認とサブスクリプション設定が完了すると、Azureのポータル画面に飛びます。この時、同時に「Azureの無料アカウントへようこそ」というメールも送信されます。

ただし、この段階だとまだポータル上でサブスクリプションIDが確認できませんでした。不思議に思って一旦ログアウトし、入りなおしたらきちんと登録されていました。

これで使い道自由の22,500円分の無料クレジットと一部のリソースが自由に使えるようになりました。

Azure Durable FunctionsのNuGetでハマった

Azure Durable Functions(ランタイム2.0)からSignalRを使うためにNuGet参照を行おうとしたら参照方法が変わっていたのでハマりました。
ライブラリの変更だけでなく、アセンブリ情報参照用のファイルまで変更する必要がありました。

公式ドキュメントによるとランタイム1.0ではproject.jsonファイルに以下のように書くのですが、

{
  "frameworks": {
    "net46":{
      "dependencies": {
        "Microsoft.AspNet.SignalR": "2.2.2"
      }
    }
   }
}

ランタイム2.0ではfunction.projと言うファイル名にして以下のように書きます。

<Project Sdk="Microsoft.NET.Sdk"> 
  <PropertyGroup> 
    <TargetFramework>netstandard2.0</TargetFramework> 
  </PropertyGroup> 
  <ItemGroup> 
    <PackageReference Include="Microsoft.AspNetCore.SignalR" Version="1.0.0-alpha2-final"/> 
  </ItemGroup> 
</Project> 

公式ドキュメントではこの書き方を見つけることが出来ず、ここを見てようやく理解しました。

Durable Functionsのようなプレビュー版は試行錯誤の繰り返しです。