Visual Studio 2015 Update 2 に .NET Micro Framework v4.3 QFE2 をインストールした場合の不具合解消方法

長いタイトルですみません。

今から .NET Micro Framework 開発環境を作ろうと思うと、

  1. Visual Studio 2015 Update 2 をインストール
  2. .NET Micro Framework v4.3 QFE2 をインストール

の順番でインストールすると思います。VSの最新版が 2015 Update 2 なので、当然ですね。

ところが、この順番でインストールすると、いくつかおかしな事象に遭遇します。

  • 必要な using 句なのに、VS エディタ上では “Using directive is not required by the code and can be safely removed” というメッセージが表示される
  • ちゃんと解決できるはずのメンバーなのに、”Cannot resolve symble ‘xxx’ ” というメッセージが表示される
  • NETMF なのに LINQ がエラーにならない(本当ならばうれしい動きなんですが)
  • NETMF なのに 自動プロパティ初期化子がエラーにならない(本当ならばうれしい動きなんですが)
  • ビルド失敗する、または一見ビルド成功したように見えてボードに配置すると動作が怪しい

2016-04-26 21-21-342016-04-26 21-22-07

 

悔しいことに、前から使っているマシンではこの事象は発生しません。
どうも VS 2015 Update 2 前に NETMF をインストールし、あとから Update 2 に上げると問題ないようです。
だからと言って、今から環境を作るのに、無印 VS2015 → NETMF → VS2015 Update 2 の順番でインストールするのもうれしくありません。

解決方法がありました。
GHI Electronics さんのサイトに行くと、4月上旬に

GHI Electronics NETMF 2016 SDK Pre-Release 2

がリリースされています。このニュースリリースの中で触れられている

VS2015 patch instructions

パッチを当てるといいようです。ただし GHI さんは not official, Unsupported と言っているので、ご利用は自己責任で。

具体的には、パッチを解凍した中身の3ファイル

C:\Program Files (x86)\MSBuild\Microsoft\.NET Micro Framework\v4.3

上書きコピーします。(念のため、元のファイルはバックアップしておくのが安全)

これだけで OK。ちゃんと NETMF 開発できるようになります。

2016-04-27 0-07-192016-04-27 0-07-43

なお、パッチのダウンロード元 では上書き対象のフォルダーが間違っています。上記のフォルダーが正解です。

これでまた NETMF 開発できます!(世間は Windows 10 IoT ばっかりで若干悔しいですが)

 

しばらく、マシン入れ替えの際に何か起こってしまったのかと、SDK アンインストールやら VSアンインストールやら OS リカバリーやらを何度か試してみましたが状況は変わらず、ちょっと無駄な時間を過ごしてしまいました・・・。

広告
カテゴリー: .NET Micro Framework, GR-PEACH, GrFamilyLibrary タグ: , , パーマリンク

Visual Studio 2015 Update 2 に .NET Micro Framework v4.3 QFE2 をインストールした場合の不具合解消方法 への1件のフィードバック

  1. ピンバック: GR ファミリー用ライブラリを Visual Studio 2015 Update 2 対応しました – 技術との戯れ

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中