Deep Insider の Tutor コーナー
>>  Deep Insider は本サイトからスピンオフした姉妹サイトです。よろしく! 
.NET対応組み込みデバイス「Netduino」入門(番外コラム01)

.NET対応組み込みデバイス「Netduino」入門(番外コラム01)

Windows 10+Visual Studio 2015でNetduinoアプリを動かすには?

2015年9月4日

本シリーズのNetduinoサンプルをWindows 10+Visual Studio 2015で動かす方法と注意点を番外編のコラムとしてまとめた。

Microsoft MVP for Windows Platform Development 初音 玲
  • このエントリーをはてなブックマークに追加

 本シリーズでは、Windows 8.1+Visual Studio 2013環境でサンプルを作成してきた。Windows 10やVisual Studio 2015が正式提供されたので、それらの環境で本シリーズのサンプルアプリやコードを動かすときの注意点を、番外コラムとしてまとめた。

コラム: Windows 10と.NET Micro Framework v4.3

 Windows 10にVisual Studio 2013やVisual Studio 2015をインストールしてサンプルアプリを実行しようとすると、C#のビルドの際に、MMP : error MMP0000: 0x80131700というエラーが発生する。これは、.NET Micro Frameworkをビルドするときに使われるMetaDataProcessor.exeが.NET Framework v3.5を要求するからであり、デフォルトで.NET Framework v3.5がインストールされてないWindows 8.1やWindows 10で発生する。

 解決方法は、CodePlexのサイトからダウンロードしたMetaDataProcessor.exe.configファイルをC:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Toolsフォルダーに配置することである。この.configファイルには<startup>要素が書かれており、v3.5を前提としたMetaDataProcessor.exeのランタイムとしてv4.0.30319を指定している。この指定により、本来v3.5が必要な.exeファイルを.NET Framework v4.0上で動かせる。

コラム: Visual Studio 2015と.NET Micro Framework v4.3

 .NET Micro Framework v4.3では、Visual Studio 2015用の.msiファイル(=インストーラー)も提供されている。しかし、C#プロジェクトであれば問題ないが、VBプロジェクトでは、参照設定では見つかるのにライブラリ 'Microsoft.VisualBasic.dll' が見つかりませんでした。というビルドエラーが発生してしまう。

 Visual Studio 2015と.NET Micro Framework v4.3でVisual Basicを使いたい場合は、.vbprojファイルをテキストエディターで直接開いて次のように編集を行う。

1 <MyType>Console</MyType><MyType />となっている場所を検索

2 <MyType>Empty</MyType>に書き換え

3 下記の場所を検索

XML
  <PropertyGroup>
    <OptionExplicit>On</OptionExplicit>
  </PropertyGroup>

4 3の場所の直前に下記の内容を追記

XML
  <PropertyGroup>
    <NoVBRuntimeReference>true</NoVBRuntimeReference>
    <VBRuntime>None</VBRuntime>
  </PropertyGroup>

5 STAThreadAttributeクラスを追加(詳細はリスト1参照)

Visual Basic
Imports Microsoft.SPOT.Hardware
 
Namespace Global.System
  <AttributeUsageAttribute(AttributeTargets.Method)>
  Public NotInheritable Class STAThreadAttribute
    Inherits Attribute
 
  End Class
End Namespace
リスト1 追加するSTAThreadAttributeクラス

 なお、上記の手順を実施すると、VBプロジェクトをビルドする際にMMP000の警告が出るようになり、また、リモートデバッグも利用できないので、これはあくまでも暫定処置でしかない。この問題の根本的な解決方法については、GHIのサポートフォーラムへの投稿によれば、Visual Studio 2013を使うか、Visual Studio 2015ならば2015年中には提供される予定の.NET Micro Framework v4.4の提供を待たなければならないということだ。

まとめ

 以上の設定を行うことで、基本的にはソースコードを変えず、本シリーズの内容が生かせる。ひと手間必要になってしまうが、Windows 10+Visual Studio 2015環境で.NET Micro Framework v4.3開発はありだ。

※以下では、本稿の前後を合わせて5回分(第8回~第12回)のみ表示しています。
 連載の全タイトルを参照するには、[この記事の連載 INDEX]を参照してください。

.NET対応組み込みデバイス「Netduino」入門(番外コラム01)
8. GR-PEACHボードとAzure Event Hubでクラウド集計

ついに発売開始されたGR-PEACHを利用。Microsoft Azure Event Hubを使って室温データをクラウドに送信してWebから見えるようにしてみよう。

.NET対応組み込みデバイス「Netduino」入門(番外コラム01)
9. サーボモーターをコントロールしよう

Netduinoはセンサー入力系だけでなく豊富な出力系も活用できる。今回は、ラジコン経験者にはなじみがあるサーボモーターをNetduinoから制御してみよう。

.NET対応組み込みデバイス「Netduino」入門(番外コラム01)
10. 【現在、表示中】≫ Windows 10+Visual Studio 2015でNetduinoアプリを動かすには?

本シリーズのNetduinoサンプルをWindows 10+Visual Studio 2015で動かす方法と注意点を番外編のコラムとしてまとめた。

.NET対応組み込みデバイス「Netduino」入門(番外コラム01)
11. NetduinoでDCモーターをコントロールしよう

ミニ四駆やプラレールに使われるなど、電池やバッテリーを動力源にできる「DCモーター」を、Netduinoから制御する方法を解説する。

.NET対応組み込みデバイス「Netduino」入門(番外コラム01)
12. Bluetoothで遠隔操作しよう

BluetoothでPCと連携し、電源もバッテリー給電とすることで、移動体などへの搭載も可能なコードレス仕様のDCモーター制御を実現してみよう。

サイトからのお知らせ

Twitterでつぶやこう!