2010-06-30 5 views
1

У нас есть одна сборка, которая используется исполняемым VB6 через COM Interop. В этой сборке используется другая сборка .NET (недоступна для COM). Мы определили. Манифест для нашего приложения VB6, чтобы мы могли использовать сборку .NET без регистрации. Мы также определили .config для нашего приложения VB6, с настройками зондирования, для поиска в поддиректориях («bin») для сборок.Пробная сборка .NET с регистрацией Бесплатно COM/.NET Interop

Если мы поместим все сборки .NET в указанную поддиректорию («bin»), наше приложение запустится успешно, и мы сможем работать с ним, пока Interop-Assembly не вызовет некоторый код других сборок. Затем мы получаем ошибку времени выполнения «429»: компонент ActiveX не может создать объект.

Когда мы отбрасываем файл .config и помещаем все файлы в один и тот же каталог, приложение работает должным образом.

Можно ли использовать зондирование для .NET Ассембли, которые используются исполняемым VB6? Есть ли способ правильно настроить зондирование так, чтобы другие сборки были успешно расположены?

.config

<configuration> 
    <runtime> 
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <probing privatePath="bin"/> 
     </assemblyBinding> 
    </runtime> 
</configuration> 

ответ

1

Ну, выглядит как файл .config не работает. Это может произойти, если вы попытаетесь отладить приложение VB6 из VB6 IDE, CLR будет выглядеть в неправильном каталоге для файла .config. Конечным инструментом, который необходимо устранить, является fuslogvw.exe, он показывает, где CLR искала сборку.

+0

Взаимодействие происходит с помощью зондирования, но зависимые сборки не разрешаются. Я дам fuslogvw.exe попытку. – Jehof