从SD卡运行C#程序,但显示它从临时目录运行

时间:2012-05-17 22:25:51

标签: c#

我遇到了一个奇怪的问题,我希望得到你的帮助。

在我的移动应用程序中,程序在SD卡上写入一个Wi​​ndows C#程序(和依赖项),以便用户可以在PC上安装SD卡时在PC上运行它。 程序和依赖项将在根级别复制。

  • myprogram.exe
  • 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卡运行。

请帮助,任何建议高度赞赏。

2 个答案:

答案 0 :(得分:0)

我怀疑这与阴影有关,这是为了防止文件锁导致各种问题。

答案 1 :(得分:0)

我已经解决了这个问题。用户没有从SD卡运行它,而是使用MTP

来称为便携式设备部分