2. SDKセットアップ手順

ここでは、.NET SDK をアプリケーションに組み込む方法について説明します。

2.1. 事前準備

Visual Studio 2013 Professional 以上が必要です。

また、.NET Framework 4.5.2 以上が必要です。

2.2. SDK 配布物の内容

SDK 配布物には、以下のファイルが格納されています。

  • Nec.Nebula.Core.dll : .NET SDK Core クラスライブラリ
  • Nec.Nebula.Offline.dll : .NET SDK Offline クラスライブラリ

オンライン機能のみを使用する場合は Core クラスライブラリを使用して下さい。 Core ライブラリは PCL(Portable Compatibility Library)のため、 Windows 8.1 ストアアプリ、Windows Phone 8.1 アプリでも利用可能です。

オフライン機能を使用する場合は、Core, Offline 両方のライブラリが必要です。 Offline ライブラリはデスクトップアプリ専用です。

2.3. ライブラリの組み込み

アプリケーションプロジェクトを開き、NEC BaaS .NET SDK クラスライブラリを組み込みます。

Nec.Nebula.Core.dll ファイルをプロジェクトに追加し、プロジェクト参照を追加してください。 手順は以下の通りです。

  1. プロジェクトを選択し、「プロジェクト」⇒「参照の追加」を選択。
  2. 「参照」ボタンをクリック。
  3. Nec.Nebula.Core.dll ファイルを選択して OK。

オフライン機能を使用する場合は Nec.Nebula.Offline.dll も同様に追加してください。

2.4. 依存ライブラリの組み込み

NuGet を使用して、依存ライブラリを追加します。

Visual Studio の 「ツール」⇒「NuGetパッケージマネージャ」⇒「ソリューションのNuGetパッケージの管理」から NuGet パッケージ管理画面を開いて下さい。

次に、「オンライン」⇒「nuget.org」を選択します。 検索ボックスに順次以下のライブラリ名を入力し、インストールを行って下さい。

  • Json.NET

オフライン機能を使用する場合は、以下ライブラリの組み込みも必要です。

  • System.Data.SQLite (x86/x64)

2.4.1. App.config ファイルの確認

オフライン機能を使用する場合は、App.config ファイルの確認が必要です。 (オフライン機能を使用しない場合は不要です)

まず、DbProviderFactories タグ内に以下の4つの設定が存在しているか確認してください。 無い場合は追記してください。

<configuration>
  ...
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite.EF6"/>
      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6"
        description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6"/>
      <remove invariant="System.Data.SQLite"/>
      <add name="SQLite Data Provider" invariant="System.Data.SQLite"
        description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
    </DbProviderFactories>
  </system.data>
  ...
</configuration>

次に、entityFramework の providers タグ内に以下の3つの設定が存在しているか確認してください。 無い場合は追記してください。

<configuration>
  ...
  <entityFramework>
    ...
    <providers>
      <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6"/>
      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6"/>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
    </providers>
    ...
  </entityFramework>
  ...
</configuration>