这是我最近开始遇到的一个奇怪问题。我的团队正在开发一个 COTS 应用程序,我们有几个人在编写代码。几周前,我在尝试调试(并运行已编译的 EXE)时收到一条错误消息:
“Windows 无法访问指定的设备、路径或文件。您可能没有访问该项目的适当权限。”
最后我不得不重构这段代码:
mcolSchedulesNeedingOverride(New Guid(lstrErrorParts(0))) &= vbNewLine & lstrErrorParts(2)
对此:
Dim lguidKey As New Guid(lstrErrorParts(0))
Dim lstrErrorMsg As String = mcolSchedulesNeedingOverride(lguidKey)
lstrErrorMsg &= vbNewLine & lstrErrorParts(2)
mcolSchedulesNeedingOverride(lguidKey) = lstrErrorMsg
然后允许 VS 生成一个实际工作的 EXE。我真的不明白为什么,但它奏效了。我确实使用了 peverify 实用程序来确定哪个程序集有问题。
现在,在昨天更新了大约 25 个文件后,我在不同的代码分支中遇到了同样的问题。这不会很有趣 - 所以我希望有人能提供一些关于为什么会发生这种情况的见解 - 这可能会帮助我缩小查找范围。
peverify 显示我们所有的程序集都是正确的,但会吐出 System.Windows.Forms.dll 的 90 多个错误!
有人有任何提示吗?