Désolé pour le retard, mais j'ai pu passer à travers plusieurs autres itérations de tests et de savoir quel était le problème. Tout d'abord, mon message original était incorrect. Le flux de code fait croire que l'erreur se passait au cours de ces 2 premières lignes, mais il se passait réellement un peu plus tard, quand je Boucler dans les magasins, comme celui-ci:
Outlook.Stores stores = _OutlookInstance.Session.Stores;
foreach(Outlook.Store store in stores) // <----- THIS LINE
{
...
}
Chaque fois que l'utilisateur a couru cette , il obtiendrait un autre code d'erreur HRESULT:
0xCA140115
0xAF64011D
0xC1F4011D
0xC8340 11D
Le seul facteur cohérent était le "4011" au milieu.
Lorsque j'ai augmenté l'enregistrement, je pouvais voir que l'utilisateur avait 18 boîtes aux lettres et la boucle foreach() a été en train de passer les 3 premiers, mais à défaut le 4. La 4ème boîte aux lettres était un magasin "Dossiers publics" associé à une autre boîte aux lettres qui a été ajoutée différemment du reste des boîtes aux lettres (il s'agissait d'une boîte aux lettres Outlook 365 nécessitant une authentification différente).
Donc, essentiellement, il a fini par être que toute tentative de toucher même cette boîte aux lettres particulière/magasin (y compris l'être variable « magasin » set) donnerait lieu à cette exception COM.
j'ai pu contourner le problème en boucle dans les magasins via l'index numérique de telle sorte que le réglage de « magasin » était dans mon bloc try/catch, comme ceci:
for(int i = 0; i < stores.Count; i++)
{
try
{
Outlook.Store store = stores[i];
...
}
catch(Exception)
{
...
}
}
Maintenant, quand la boucle atteint que magasin particulier, je pourrais dire que c'était Outlook dire que le serveur n'était pas disponible, et le magasin était un magasin en ligne seulement, de sorte que le magasin ne pouvait pas être consulté.
Je ne sais toujours pas pourquoi les codes d'erreur ont changé à chaque fois, mais là vous l'avez.
Quelle propriété ou méthode déclenche exactement une exception? Où et quand exécutez-vous le code ci-dessus? –
Ceci est une application de test - une application winforms qui démarre et exécute immédiatement ces deux lignes (le reste du code n'est pas touché car il lance l'exception). Il est difficile de dire pour le moment quelle propriété ou méthode spécifique le déclenche puisque je ne peux pas tester très facilement (seul l'utilisateur distant peut le reproduire jusqu'à présent, donc je suis lié à sa disponibilité pour tester) – jhilgeman
Quelle version d'Outlook est installée sur la machine? Est-ce l'édition Click2Run? –