我遇到了一个奇怪的问题,希望得到您的帮助。
在我的移动应用程序中,该程序在 SD 卡上编写了一个 Windows C# 程序(和依赖项),以便当 SD 卡安装在 PC 上时,用户可以在他的 PC 上运行它。程序和依赖项像这样在根级别复制。
- 我的程序
myprogram.exe.config [仅供参考:config 具有运行时绑定和 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:\
因为用户是从 SD 卡的根目录运行它,而不是在 windows 的临时文件夹上运行它。
我的评估是,因为这条路径是错误的,它无法加载依赖程序集,
如果从 SD 卡运行,为什么会有东西进入 C# 中的临时目录???我问用户他没有从 SD 卡复制任何文件并从 SD 卡运行。
请帮助,任何建议高度赞赏。