前提・実現したいこと
Uno Platformを用いて、
アプリの作成を行い、ライブラリを用いて作成するときの質問です。
まず以下のようにクラスを作成しアプリを実行いたしました。
C#
1 public class Super:LocalBase 2 { 3 public async Task SetTargetFolder() 4 { 5 TargetFolder = await StorageFolder.GetFolderFromPathAsync("/*対象のパス*/"); 6 } 7 } 8 9 10 public abstract class LocalBase 11 { 12 protected StorageFolder TargetFolder; 13 }
上記のコードではUWP,Androidのどちらで実行しても、
問題なく実行されました。
その後、UnoPlatformのクラスライブラリを作成し、
以下のようなクラスを作成いたしました。
C#
1 public abstract class LibBase 2 { 3 protected StorageFolder TargetFolder; 4 }
このクラスライブラリのdllファイルを作成し、
アプリ側のプロジェクトで
作成したdllファイルを参照追加し、
コードを以下のように変更いたしました。
※この時UWP,Androidどちらのプロジェクトも参照追加しております。
C#
1 public class Super : LibBase 2 //public class Super:LocalBase 3 { 4 public async Task SetTargetFolder() 5 { 6 TargetFolder = await StorageFolder.GetFolderFromPathAsync("/*対象のパス*/"); 7 } 8 }
上記のコードでUWP、Androidの両方で実行してみた結果、
Androidは実行できましたが、
UWPはビルド失敗になりました。
この時のエラー内容は
型 'StorageFolder' は、参照されていないアセンブリに定義されています。
アセンブリ 'Uno, Version=255.255.255.255, Culture=neutral, PublicKeyToken=null' に参照を追加する必要があります。
と出力されました。
UnoPlatFormでUWPとAndroidの両方で使用できない要素があるのは、
存じておりますが、
クラスライブラリに定義したクラスのメンバーが、
UWP,Androidの片方で使えなくなる仕組みがよくわかりません。
なぜクラスライブラリに定義した瞬間使えなくなってしまうのでしょうか?
情報不足ありましたら
ご指摘ください。
宜しくお願い致します。
補足情報(FW/ツールのバージョンなど)
・OS バージョン Windows10
あなたの回答
tips
プレビュー