以下のコードを使用するこの小さなWPFアプリケーションがあります。基本的には上記のファイルを読み込んでコンテンツを表示します。StreamReaderコードがDesktopBridge APPに変換された後に例外が発生する
using (StreamReader streamReader = new StreamReader(@"Terms\License.txt", Encoding.UTF8)) {
....
}
このコードは、WPFアプリケーションで正しく動作します。しかし、いつ... 私はDesktopBridgeを使ってWPFをAppxに変換し、次に.Appxをインストールしました。 同じコードが例外をスローします。
例外情報:System.IO.DirectoryNotFoundException。
任意のヒント?どんな援助?
よろしく
さて、あなたのコードはEnvironment.CurrentDirectoryに依存します。絶対パスを使用します。 – JeffRSon
あなたは相対パスを使用しています。 'using'行にブレークポイントを置き、作業ディレクトリのパスを確認することができます。次に、このフォルダに '@" Terms \ License.txt "' https://msdn.microsoft.com/en-us/library/system.io.directory.getcurrentdirectory(v=vs.110)があるかどうかを確認できます。 aspx – Mat
私はその一度.appxに変換してデバッグすることはできません。第二に、WPF ExEであれば、デバッグとランタイム中に正常に動作します。 WPF EXEが外部ユーティリティDesktopBridgeを使用して.APPXに変換された後、このエラーが発生します。 相対パスを使用するすべての理由は、絶対パスを心配することではありません。 – Neha