LoginSignup
6
4

More than 3 years have passed since last update.

UwpDesktopでわけのわからないエラーが出るようになってしまったメモ

Last updated at Posted at 2018-09-21

2020/2/1追記
Windows 10 WinRT API Packがリリースされました。
正式な方法としては、こちらを利用することをお勧めします。

  • Windows 10 WinRT API PackはNuGetパッケージMicrosoft.Windows.SDK.Contractsとして公開されています。
  • 開発プロジェクトをPackageReference対応へ設定変更し、NuGetパッケージを追加するだけで利用可能。

詳細
- Microsoft、Windows 10の機能を簡単にWinForms/WPFアプリへ組み込めるライブラリを公開
- デスクトップアプリで UWP Api を呼び出す


はじめに

VisualStudioでユニバーサルWindowsプラットフォームアプリってありますよね、最近。UWPっていうもの。
これにどうしてもなじめなくて今までのデスクトップ(.net)アプリにしていたのですが、UWP専用のAPIとかあって、そのAPIだけは使いたい場合があります。

そんなとき、UwpDesktopっていうアドオンを使うとデスクトップアプリからでも簡単にUWPのAPIが使えるので愛用していました。

のですが、開発環境を更新したら突然ビルドエラーが多発するようになってしまって、泣・・・
色々調べてどうにかビルドできるようになったのでメモ

環境

もとの開発環境

  • OS=Windows10 1709
  • 開発環境=Visual Studio Pro 2015
    • C#
    • .Net Framework 4.6.2
    • WPFアプリケーション(.net)
  • UwpDesktopのバージョン=10.0.14393.3

新しい開発環境

  • OS=Windows10 1903
  • 開発環境=Visual Studio Pro 2019(16.3.1)
    • C#
    • .Net Framework 4.6
    • WPFアプリケーション(.net)
  • UwpDesktopのバージョン=10.0.17763.0

  • Visual Studioインストーラで、個別コンポーネントで Windows10 SDK(10.0.17763.0) を追加します。

  • たぶん↑のバージョンにUwpDesktopが対応していない、ということなのだろうと思います。

キャプチャ3.PNG

現象

新しい環境でビルドするとこんなエラーがでます。

  • 参照設定が全然効いてないですね。

対応

uwp-desktopのGitHubサイトを見てみます。
なにやら英語で書いてあり、いろいろ試した結果、以下の手順でビルドが通るようになりました。

1.UwpDesktopをアンインストールする
2.参照設定で以下の二つを追加する

  • C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.17763.0\Windows.winmd
  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\ .NETCore\v4.5\System.Runtime.WindowsRuntime.dll

  • 同じ名前のファイルがアチコチにあるので、パスを間違えないように。

  • UwpDesktopだと大量に参照が追加されるので、使っているAPIによってはこの要領でさらに参照追加が必要そう。

最後に

よく調べれば特に難しいことないかと思いますが、最近ボタン一つでなんでもできるようになったので、こんなことでもハマってしまいます。
使っているAPIの種類とか、バージョンによってこの限りではないと思わるので、今回はこれでできたという程度だと思います。

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4