Ошибка при публикации приложения clickonce

Я получаю следующую ошибку при попытке опубликовать приложение wpf clickonce.

Ошибка 1 Публикация завершилась ошибкой: невозможно преобразовать COM-объект типа «EnvDTE.DTEClass» в тип интерфейса «Microsoft.VisualStudio.OLE.Interop.IServiceProvider». Эта операция завершилась неудачно, поскольку вызов QueryInterface для COM-компонента для интерфейса с IID '{6D5140C1-7436-11CE-8034-00AA006009FA}' завершился неудачно из-за следующей ошибки: такой интерфейс не поддерживается (исключение из HRESULT: 0x80004002 (E_NOINTERFACE)) .

Ошибка возникает, если я пытаюсь опубликовать на FTP-сайте, а также если я пытаюсь опубликовать в локальных файловых системах.

Любые идеи? Похоже, что поиск в Google не дает никаких полезных результатов.


person Peter Stephens    schedule 13.03.2009    source источник
comment
1) Нет, по HTTP не пробовал. Я не думаю, что у моей хостинговой компании есть такая возможность. 2) Нет COM. Это ванильное приложение WPF.   -  person Peter Stephens    schedule 15.03.2009


Ответы (2)


EnvDTE.DTEClass - это некоторая функциональность, которая должна быть предоставлена ​​Visual Studio. У меня есть несколько предложений:

  1. Создайте новый проект WinForms (просто пустую форму) и попробуйте опубликовать его.
  2. Попробуйте восстановить или переустановить VS
  3. Взгляните на Создание приложений ClickOnce из командной строки
person Henk Holterman    schedule 14.03.2009
comment
Вариант 2, наверное, проблема. Я должен это исследовать. Вариант 3 тоже неплохо было бы попробовать. MAGE не должен выдавать ошибки EnvDTE, поэтому он может работать из командной строки. Мне все равно нужно изучить MSBuild, так что ... - person Peter Stephens; 15.03.2009
comment
Вариант 1 не сработал. Вариант 3 сработал! Я собираюсь повторить вариант 2 и посмотреть, поможет ли это. Хотя такая боль. - person Peter Stephens; 16.03.2009
comment
была аналогичная проблема, и я просто заставил ее работать из командной строки (3) на моей новой машине разработки. Ура! Теперь мне не нужно отказываться от своих пользователей, и я могу публиковать исправления ошибок, не загружая мою старую машину разработчика. - person Jared Updike; 16.07.2010

Эта ТОЧНАЯ ошибка была решена в моем случае, просто выполнив следующую команду:

regsvr32  "C:\Program Files (x86)\Internet Explorer\ieproxy.dll" 

или для 32-битных окон:

regsvr32 "C:\Program Files\Internet Explorer\ieproxy.dll"

Подробнее: Проблема оказалась в неработающей регистрации IServiceProvider. CLSID прокси-заглушки был неправильным (он имел в виду actxprxy.dll вместо ieproxy.dll в Windows 7 x64).

Извлечено из: http://blogs.msdn.com/b/smondal/archive/2012/10/02/unable-to-cast-com-object-of-type-system-comobject-to-interface-type-microsoft-visualstudio-ole-interop-iserviceprovider.aspx

person Hernexto    schedule 18.11.2015