C'est un problème étrange que j'ai commencé à avoir récemment. Mon équipe développe une application COTS et nous avons quelques personnes avec leurs mains dans le code. Il y a quelques semaines, je reçois un message d'erreur lors de la tentative de débogage (et exécuter le compilé EXE):.Pourquoi Visual Studio/CLR produirait un "mauvais" exécutable?
« Windows ne peut pas accéder au périphérique spécifié, chemin ou fichier Vous ne pouvez pas avoir les autorisations appropriées à accéder à l'élément. "
Il a fini par je devais factoriser ce bout de code:
mcolSchedulesNeedingOverride(New Guid(lstrErrorParts(0))) &= vbNewLine & lstrErrorParts(2)
pour ceci:
Dim lguidKey As New Guid(lstrErrorParts(0))
Dim lstrErrorMsg As String = mcolSchedulesNeedingOverride(lguidKey)
lstrErrorMsg &= vbNewLine & lstrErrorParts(2)
mcolSchedulesNeedingOverride(lguidKey) = lstrErrorMsg
Cela laisse ensuite VS pour générer un fichier EXE qui fonctionnait vraiment. Je ne comprends vraiment pas pourquoi, mais ça a marché. J'ai utilisé l'utilitaire peverify pour déterminer quel assembly avait un problème.
Maintenant, j'ai le même problème dans une branche de code différente après environ 25 fichiers ont été mis à jour hier. Cela ne va PAS être amusant à traquer - j'espérais donc que quelqu'un pourrait donner un aperçu de la raison pour laquelle cela pourrait se produire - et cela pourrait m'aider à préciser où regarder.
peverify montre tout nos assemblages pour être corrects, mais est en train de retourner plus de 90 erreurs pour System.Windows.Forms.dll!
Quelqu'un a des conseils?
Eh bien, le problème d'origine - d'autres développeurs peuvent exécuter le programme, mais obtiendrait un InvalidProgramException quand ce code était appelé. Je ne pouvais tout simplement pas exécuter l'application du tout. Changer le code l'a fixé pour tous. – Alarion
Eh bien, je "rolledback" à une révision SVN que je savais travaillé. Et ça n'a pas marché.J'ai fini par redémarrer, qui l'a réparé cette fois. Je suppose qu'il est possible que Comodo Firewall/ID ait quelque chose à voir avec ça. De toute façon, même si votre réponse était le bon sens principalement, il m'a aidé à résoudre le problème, donc je l'ai marqué =) – Alarion
Eh bien, alors vissez AntiVirus sh * t et tel .. UAC est tout ce dont nous avons besoin. –