新しいStreamReaderを初期化してテキストファイルからテキストデータを読み込むC#を使用してUnityで書かれたプログラムがあるUnityのresourcesフォルダに保存しました。 Unityでの再生をクリックすると、すべてがうまく動作します。すべてが機能し、テキストが完全に読み込まれて表示されます。しかし、HoloLensエミュレータ(プラットフォーム:Windowsストア、SDK:ユニバーサル10、ビルドと実行:ローカルマシン)を介して実行するためにビルドしようとすると、エラーが発生する:エラーCS1503:引数1:変換できません'string'から 'System.IO.Stream'に変更します。UnityからHoloLensへのプログラムの問題 - 'string'から 'System.IO.Stream'に変換できない
StreamReaderのコンストラクタに文字列パラメータを受け入れるオーバーロードがあるため、このエラーが最初に表示される理由はわかりません。次のように
私のコードは次のとおりです。
string metadata = String.Format("/Resources/.../metadata.txt", list);
if (File.Exists(Application.dataPath + metadata))
{
using (StreamReader sr = new StreamReader(Application.dataPath + metadata))
{
// ....
}
}
パラメータとしてファイル名をとりますが、ストリームだけをとるストリームリーダーはオーバーロードされていないと仮定することができます – Steve
通常のSystem.IO.StreamReaderに文字列オーバーロードがあります。 ? – XerShade
私は通常のSystem.IO.StreamReaderで文字列のオーバーロードを使用していると思います。Application.dataPathは文字列を返し、メタデータは文字列です。これを正しく実行するには、 "using System.IO"が必要です。 Unityを介して再生ボタンをクリックすると、すべてがコンパイルされて正常に動作します。しかし、Windowsアプリケーションとしてビルドしようとすると、質問に記載されているコンパイルエラーが発生しています。 – whycodingsohard