夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

StreoKitをUWPテンプレートでビルドするときにEETypeRva:0x00047188エラーが出る問題の解消

本日はStereoKit枠です。

先日Stereokitの開発者のNickさんにお会いしてから再び熱が入っているStereokitですが、UWPのテンプレートを使用したさいにエラーが出てビルドができない問題がありました。

今回はトラブルシューティングを行います。

〇発生したトラブル

今回は次の環境になります。

Windows 11

・ViualStudio2022

・StereokitWUPテンプレート (v0.3.8)

今回はテンプレートそのままにビルドを行った際に次のようなエラーが発生しました。

エラー       ILT0021: Could not resolve method 'EETypeRva:0x00047188'    StereoKitProject2           

このエラーはVisualStudiosのUWPプロジェクトで発生する問題で.NETランタイムで使用される用語です。

 通常アセンブリやライブラリのバージョンの不一致、依存関係の問題、またはアプリケーションのコードにバグがある場合に発生します。

今回はStereokitのテンプレートをそのままいじらずに使ったので、 

〇解消法

ソリューションエクスプローラーでプロジェクト→Properties→Default.rd.xmlを開きます。

デフォルト状態で次のようになっています。

・・・
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
  <Application>
    <!--
      An Assembly element with Name="*Application*" applies to all assemblies in
      the application package. The asterisks are not wildcards.
    -->
    <Assembly Name="*Application*" Dynamic="Required All" />
    
    <!-- Add your application specific runtime directives here. -->


  </Application>
</Directives>

へ書き換えます。

次のようになります。

・・・
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
  <Application>
    <!--
      An Assembly element with Name="*Application*" applies to all assemblies in
      the application package. The asterisks are not wildcards.
    -->
    
    <Assembly Name="{NugetPackage}" Dynamic="Required All" />
    <!-- Add your application specific runtime directives here. -->


  </Application>
</Directives>

保存してビルドを行います。

これによって正常にビルドが完了します。

本日は以上です。