2013-09-22 7 views
0

У меня есть программа в C#, которая использует WatiN. Он компилируется и работает хорошо в моих окнах разработки 7. Однако, когда я копирую программу в datacenter в windows 2012 в лазурном виде, она бросает ниже исключения, когда приложение пытается запустить экземпляр интернет-исследователя (который существует в датацентре Windows 2012):Не удалось загрузить файл или сборку Microsoft.mshtml

System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'Microsoft.mshtml, Version = 7.0.3300.0, Culture = нейтрально, PublicKeyToken = b03f5f7f11d50a3a' или один из его зависимостей. Система не может найти указанный файл. Имя файла: 'Microsoft.mshtml, Version = 7.0.3300.0, Culture = нейтрально, PublicKeyToken = b03f5f7f11d50a3a' на WatiN.Core.Native.InternetExplorer.IEWaitForComplete.WaitForCompleteOrTimeout() в WatiN.Core.IE.WaitForComplete (Int32 waitForCompleteTimeOut) в WatiN.Core.Browser.GoTo (Uri URL) на WatiN.Core.IE.FinishInitialization (Uri Uri)

Я бы потерял на это исключение, что отсутствует на сервере?

Thank.

+1

Этот вопрос на SO может помочь: http://stackoverflow.com/questions/2068159/could-not-load-file-or-assembly-microsoft-mshtml-strong-name-validation-fai –

+0

спасибо, что помогает – Henry

ответ

3

Это стандартная сборная сборка, которая установлена ​​в GAC на любой dev-машине. Не совсем точно, как он туда попал, скорее всего, это установщик VS. Но это не будет в GAC на этом узле Azure.

Откройте узел «Ссылки» вашего проекта и выберите запись Microsoft.mshtml. Измените свойство Copy Local на True. Перестройте, и теперь у вас будет копия сборки в вашем каталоге сборки. Скопируйте его вместе с остальными исполняемыми файлами на узел Azure.

+1

исправлено, добавьте сборку. Благодарю. – Henry

Смежные вопросы