Ошибка с существующей Ссылкой COM или добавлением нового

Позвольте мне снабдить это предисловием, говоря, что я незнаком со ссылками COM, и я использую VS2010 на машине 64 битов Windows 7. Этим утром я сбросил существующий проект от TFS. Я тогда попытался разработать проект и получил эту ошибку:

Тип или 'validatecom' имени пространства имен не могли быть найдены (вы пропускаете директиву использования или ссылку на сборку?)

И я получаю это предупреждение:

Не может получить путь к файлу для версии 1.0 "d0b51ccc aa31 47a1 b3ff b8ed71c522a1" библиотеки типов. Библиотека, не зарегистрированная. (Исключение из HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED))

Когда я проверяю ссылки, конечно же, я вижу желтое восклицание в единственной Ссылке COM в решении. После некоторого бесплодного тестирования я решил попытаться добавить новую Ссылку COM.

Add Reference -> COM tab -> random M$ library

Это приводит к новой ссылке с желтым восклицанием. Я пытаюсь разработать проект, чтобы видеть, получаю ли я ту же самую ошибку. На этот раз я получаю эту ошибку:

Многократные версии, с которыми сталкиваются, собрания с '23d736f1 acbc 11d3 b0e8 00104bff2710' GUID. Попытайтесь предварительно импортировать одно из этих собраний.

И я получаю это предупреждение:

Не может найти собрание обертки для библиотеки типов "ADODB".

Я понятия не имею, связаны ли эти две ошибки. В противном случае тогда решение первого, конечно, имеет приоритет по последнему.

4
nl ja de
Много программистов Microsoft отвечает на вопросы здесь. Высмеивание имени их работодателя как этот является действительно немым способом попросить их помощь.
добавлено автор Hans Passant, источник

1 ответы

Еще одна вещь проверить на состоит в том, если ваша библиотека COM зарегистрирована в регистрации Windows, которая может вы сделанный как это:

%windir %\system32\regsvr32 YourComLibrary.dll

Затем необходимо будет создать interop.NET DLL, который обертывает вокруг библиотеки COM, на которую вы пытаетесь сослаться в вашем проекте C#. Способ сделать это, управляя импортером библиотеки типов полезность (используйте командную строку Visual Studio 2010 года):

tlbimp.exe YourComLibrary.dll/out:yourwrappedcomlibrary.dll

Что касается ссылки ADODB, необходимо будет, вероятно, сослаться на <сильную> Основную Ассамблею Interop для СУМАТОХИ (ADODB) . Это может быть найдено на вашей машине в следующем местоположении. Добавьте ссылку на это, и необходимо быть хорошими.

C:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies\adodb.dll

Надо надеяться, вышеупомянутое получает вас движение. Ее слишком долго, так как я замарал с COM... память, возможно, туманную немного. Наслаждайтесь!

4
добавлено
Ключ здесь к моей первой ошибке - то, что собрание PIA для validatecom.dll отсутствовало. Скорее собрание было там, но ссылка COM не знала, где определить местонахождение его. Добавляя, что PIA как ссылка решил мою ошибку и я смог идти дальше к отладке.
добавлено автор YouGotCSharpInMyJava, источник
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot