2

Windows Phone 8.1 ランタイム アプリで Lumia.Imaging.SDK 2.0 を使用しています。何らかの理由で、Microsoft は Lumia.Imaging.RandomAccessStreamImageSource クラスに ActivatableAttribute を設定できませんでした。したがって、このクラスは appxmanifest.xml で ActivatableClass としてマークされません。もちろん、このクラスをインスタンス化しようとすると、次のエラーが発生します。

タイプ 'System.TypeLoadException' の初回例外が MyApp.exe で発生しました 要求された Windows ランタイム タイプ 'Lumia.Imaging.RandomAccessStreamImageSource' は登録されていません。

このクラスを実行時に C# からアクティブ化可能として登録する方法を知っている人はいますか? または、Lumia.Imaging.winmd を「ハック」して ActivatableAttribute を含める方法はありますか?

ご協力いただきありがとうございます。

4

2 に答える 2

2

I had the same problem. Here is working solution. Add these lines to the Package.appxmanifest manually (use any text editor):

  <Extensions>
    <Extension Category="windows.activatableClass.inProcessServer">
      <InProcessServer>
        <Path>Lumia.Imaging.dll</Path>
        <ActivatableClass ActivatableClassId="Lumia.Imaging.RandomAccessStreamImageSource" ThreadingModel="both" />
      </InProcessServer>
    </Extension>
  </Extensions>

before

</Package>

Make sure that your main (executable) library has reference on Lumia.Imaging.dll

于 2015-01-20T07:36:18.780 に答える
0

最新バージョンであることを確認してください。MSDNからクイックスタートをダウンロードしましたが、電話とデスクトップの両方の Windows で完全に動作します (ただし、Lumia NuGet パッケージを から に更新する必要が2.0.178-alphaあり2.0.184ます)。

サンプル コードはRandomAccessStreamImageSource問題なく使用されます (デバッガーでそのコード行をステップ オーバーすることによって検証されます)。

于 2015-01-20T04:51:26.500 に答える