2013-09-22 3 views
0

J'ai un programme dans C# qui utilise WatiN. Il compile et fonctionne bien dans mes fenêtres de développement 7. Cependant, quand je copie le programme dans Windows 2012 datacenter dans azure, il lève l'exception ci-dessous quand l'application essaie de démarrer une instance d'Internet Explorer (qui existe dans le datacenter Windows 2012):Impossible de charger le fichier ou l'assembly Microsoft.mshtml

System.IO.FileNotFoundException: Impossible de charger le fichier ou l'assemblage 'Microsoft.mshtml, version = 7.0.3300.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' ou une de ses dépendances. Le système ne trouve pas le fichier spécifié. Nom du fichier: 'Microsoft.mshtml, Version = 7.0.3300.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' à WatiN.Core.Native.InternetExplorer.IEWaitForComplete.WaitForCompleteOrTimeout() à WatiN.Core.IE.WaitForComplete (Int32 waitForCompleteTimeOut) à WatiN.Core.Browser.GoTo (url Uri) à WatiN.Core.IE.FinishInitialization (Uri uri)

Je suis un peu perdu sur cette exception, ce qui manque sur le serveur?

Merci.

+1

Cette question sur le SO peut aider: http://stackoverflow.com/questions/2068159/could-not-load-file-or-assembly-microsoft-mshtml-strong-name-validation-fai –

+0

merci cela aide – Henry

Répondre

3

Il s'agit d'un ensemble d'interopérabilité standard installé dans le GAC sur n'importe quel ordinateur de développement. Je ne sais pas exactement comment cela est arrivé, il est probable que c'est l'installateur VS qui l'a mis là. Mais il ne sera pas dans le GAC sur ce noeud Azure.

Ouvrez le nœud Références de votre projet et sélectionnez l'entrée Microsoft.mshtml. Remplacez la propriété Copy Local par True. Reconstruisez et vous aurez maintenant une copie de l'assembly dans votre répertoire de construction. Copiez-le avec le reste de vos exécutables sur le noeud Azure.

+1

l'ai fait réparer en ajoutant l'assemblage. Merci. – Henry

Questions connexes