私はあなたの助けを求めたい奇妙な問題に遭遇しました.
私のモバイルアプリでは、プログラムはWindows C#プログラム(および依存関係)をSDカードに書き込み、SDカードがPCにマウントされているときにユーザーがPCで実行できるようにします。プログラムと依存関係は、このようにルート レベルでコピーされます。
- myprogram.exe
myprogram.exe.config [参考情報: config にはランタイム バインディングと Libs フォルダーがあります]
Libs\Interop.iTunesLib.dll
このようなユーザーからエラーレポートを受け取りました。私の側ではこれを再現できませんでした
OS Version: Microsoft Windows NT 6.1.7601 Service Pack 1
Assembly version: 1.0.0.0
CurrentDirectory: C:\Users\yasd\AppData\Local\Temp\WPDNSE\SID-{10001,SECZ9519043CHOHB,4820242432}
Problem: Could not load file or assembly 'Interop.iTunesLib, Version=1.11.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
今私が見る問題は、レポートに表示されるプログラムの現在のディレクトリが
"C:\Users\yasd\AppData\Local\Temp\WPDNSE\SID-{10001,SECZ9519043CHOHB,4820242432}"
私はそれが次のようなものになることを期待していました
F:\
ユーザーは、Windowsの一時フォルダーではなく、SDカードのルートから実行したためです。
私の評価では、このパスが間違っているため、依存アセンブリを読み込めませんでした。
SDカードから実行した場合、C#の一時ディレクトリに何かが入るのはなぜですか??? SDカードからファイルをコピーせず、SDカードから実行したことをユーザーに尋ねました。
助けてください、どんなアドバイスでも大歓迎です。