.NET対応組み込みデバイス「Netduino」入門(番外コラム01)
Windows 10+Visual Studio 2015でNetduinoアプリを動かすには?
本シリーズのNetduinoサンプルをWindows 10+Visual Studio 2015で動かす方法と注意点を番外編のコラムとしてまとめた。
本シリーズでは、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 下記の場所を検索
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
|
4 3の場所の直前に下記の内容を追記
<PropertyGroup>
<NoVBRuntimeReference>true</NoVBRuntimeReference>
<VBRuntime>None</VBRuntime>
</PropertyGroup>
|
5 STAThreadAttribute
クラスを追加(詳細はリスト1参照)
Imports Microsoft.SPOT.Hardware
Namespace Global.System
<AttributeUsageAttribute(AttributeTargets.Method)>
Public NotInheritable Class STAThreadAttribute
Inherits Attribute
End Class
End Namespace
|
なお、上記の手順を実施すると、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]を参照してください。
8. GR-PEACHボードとAzure Event Hubでクラウド集計
ついに発売開始されたGR-PEACHを利用。Microsoft Azure Event Hubを使って室温データをクラウドに送信してWebから見えるようにしてみよう。
9. サーボモーターをコントロールしよう
Netduinoはセンサー入力系だけでなく豊富な出力系も活用できる。今回は、ラジコン経験者にはなじみがあるサーボモーターをNetduinoから制御してみよう。