QuickBooksDev Ответов: 1

Почему я получаю "не определен", когда он был определен в последний раз открытым в VB. 2015?


У нас много VB.Net Windows Desktop apps in VB.Net-да. Именно этот случай произошел в 2015 году.

За последние пару месяцев мы заметили, что приложения, которые не изменились при открытии в VB, теперь получают ошибки типа "Type 'SHDocVw.Internetexlorer'не определен". По - видимому, ссылки больше не могут быть найдены???

В данном случае это относится к:
Dim WithEvents oauthBrowser As New SHDocVw.InternetExplorer()

который выдает сообщение об ошибке.

Другие приложения с таким же точным кодом (исходный код был скопирован много лет назад) и ссылкой не получают ошибку. Некоторые также на VB.2015 и некоторые на VB.2017.

Это просто не имеет смысла для меня, и для этого приложения я даже не могу понять, как это исправить. 4 других приложения не имеют никаких ссылок на взаимодействие.SHDocVw или что-нибудь еще связанное с этим. Я проверил все операторы импорта, ссылки и включенные пространства имен, и все они одинаковы.

Так почему же это происходит и как это исправить?

Спасибо

Что я уже пробовал:

Перезапуск VB.Net, Перезагрузка. Чистый Проект, Перестройка

Richard Deeming

Это может быть 64-битная / 32-битная проблема. Я подозреваю, что вам нужно будет принудительно настроить приложение на x86, если вы собираетесь ссылаться на элементы управления IE COM.

QuickBooksDev

Все приложения являются одинаковыми 32-битными. Этому приложению уже несколько лет. Так почему же он провалился именно сейчас? Это также произошло и в других приложениях. Но этого я никак не могу понять. Их всех сажают в тюрьму. C:\Program файлы (x86).

1 Ответов

Рейтинг:
2

phil.o

Кто-то, возможно, использовал функцию поиска и замены IDE и заменил все вхождения, в масштабах всего решения, из Inter около Integer, что привело бы к таким странным именам, как IntegernetExplorer.

Я бы поспорил, что это чье-то неправильное использование функции поиска и замены...


Richard Deeming

Это было бы "clbuttic" ошибкой. :)

phil.o

Ясно ^^

QuickBooksDev

Не понимаю. Код таков
Dim WithEvents oauthBrowser как новый SHDocVw.Internet обозреватель()
В решении нет IntegernetExporter. По крайней мере, находка не смогла его найти.

Я единственный, кто работает над этим приложением.


В качестве примечания.
Я согласен, что VS Find/Replace оставляет желать лучшего. Я обнаружил, что он может изменять модули, которые генерируются как дизайнеры и т. д. Должна быть возможность изменять только те модули, которые созданы пользователем, а не сгенерированы.

Кроме того, иногда код, стоящий за формой, не загружается должным образом, и вы этого не знаете. Найти в нем ничего не удастся. Если вы попытаетесь сделать код представления, он будет пустым. Вы должны X из кода, а затем повторить код представления.

phil.o

Цитата из вашего собственного вопроса:

За последние пару месяцев мы заметили, что приложения, которые не изменились при открытии в VB, теперь получают ошибки типа "Type 'SHDocVw.IntegernetExlorer"не определено". По - видимому, ссылки больше не могут быть найдены???

QuickBooksDev

IntegernetExplorer был опечаткой, вводящей текст. Извиняюсь. Именно так я скопировал и вставил InternetExplorer.

QuickBooksDev

Итак, есть ли у кого-нибудь идеи? Она все еще не определена.

phil.o

В какой сборке находится пространство имен SHDocVw определились?

QuickBooksDev

Хороший вопрос, но я не знаю. В программах, которые работают и не получают эту ошибку, нет никаких других ссылок на нее нигде в решении, основанном на VS find. Это верно и в неудачном приложении.

Мне удалось, наконец, получить его урегулирован путем включения ссылки для межпрограммного взаимодействия.ShDocVw.dll из других приложений папке.

До сих пор не понимаю, почему это приложение имеет эту проблему и почему ссылки, которые были там в течение многих лет, просто, кажется, исчезают.

phil.o

Рад, что ты ее разгадал. Возможно, это было вызвано изменением/обновлением IDE, а может быть, и нет. Если вы используете систему контроля версий, это может дать ключ к разгадке того, что произошло.

QuickBooksDev

Только решил немедленную ошибку сборки, но понятия не имею, почему ссылки исчезают и почему другие программы не имели этой проблемы. Это просто страшно.