Как использовать MSHTML на компьютере, на котором не установлена ​​Visual Studio? - PullRequest
0 голосов
/ 20 мая 2009

Я использую mshtml для разбора HTML в моем приложении ASP.NET-MVC. Отлично работает на моей машине для разработки, на которой установлен VS2008 Professional. Отлично работает на моей промежуточной машине, на которой установлен VS Express 2008 / WebDev. Но он выдает исключение FileNotFoundException при попытке загрузить COM-объект на рабочий сервер, на котором нет версий Visual Studio.

Exception type: FileNotFoundException 
    Exception message: Could not load file or assembly

'Microsoft.mshtml, версия = 7.0.3300.0, Culture = нейтрально, PublicKeyToken = b03f5f7f11d50a3a 'или одна из его зависимостей. Система не могу найти указанный файл.

Я не хочу устанавливать Visual Studio на производственную коробку. Я прочитал предложение , что работает C: \ Program Files \ Common Files \ Merge modules \ vs_piaredist.exe решает эту проблему, но этот каталог не существует в моей рабочей коробке. Как я могу использовать mshtml на производственном компьютере?

Ответы [ 3 ]

1 голос
/ 20 мая 2009

Использование vs90_piaredist с компьютера разработчика, похоже, является решением. Сборка взаимодействия называется Microsoft.mshtml.dll и находится в C: \ Program Files \ Microsoft.NET \ Первичные сборки взаимодействия. Запустив vs90_piaredist, вы создали этот каталог на производственном компьютере и поместили в него 5 взаимодействующих библиотек, включая Microsoft.mshtml.dll.

В этой ветке было хорошее обсуждение этой проблемы.

0 голосов
/ 20 мая 2009

IE - это неуправляемый код, поэтому для перехода от управляемого к неуправляемому должен быть уровень взаимодействия. Первичная сборка взаимодействия (PIA) - это та, которая обычно поставляется поставщиком. Вот почему вам предлагается запустить piaredist.exe

0 голосов
/ 20 мая 2009

Не зависит ли mshtml IE? Какая версия IE установлена ​​на производственную коробку? Рассмотрите возможность обновления до версии 6

...