Это странная проблема, с которой я недавно столкнулся. Моя команда разрабатывает приложение 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 показывает, что все наши сборки верны, но выпадает более 90 + ошибок для System.Windows.Forms.dll!
У кого-нибудь есть советы?