Как определить пользовательский путь к Interop * .dll - PullRequest
0 голосов
/ 10 января 2011

Ну,

У меня есть ActiveX (* .ocx) компонент , и я использую его в управляемом проекте C ++ / CLI : написать управляемую оболочкувокруг компонента ActiveX [ NET имеет отличные службы взаимодействия : предоставляет мне расширенную dll, поэтому я могу легко использовать ее в своем управляемом коде ]

Проблема в том, что Visual Studio(2008) автоматически копирует сгенерированный Interop * .dll в каталог , где мой файл * .exe остается . Но я хочу поместить все мои genarated Interop * .dll в папку ...

Предположим, что моя структура каталогов такова:

D: \ MyProject \ Output \ MyProject.exe // Мой испорченный exe

D: \ MyProject \ Output \ Interop.XXXLib.1.0.dll // * Interop .dll

Я хочу поставить Interop.XXXLib.1.0.dll в новую папку

D: \ MyProject \ Output \ Interops

и использовать его из этого каталога ... Как я могу это сделать?

С наилучшими пожеланиями

PS:

До сих пор я обнаружил использование тегов codeBase / probing в моем файле app.config, таких как

<?xml version="1.0"?>
<configuration>
  <runtime>
     <assemblyBinding xmlns="urn:schemas-microsoft-com.asm.v1">
        <probing privatePath="Interops" />
     </assemblyBinding>
  </runtime>
</configuration>

Но я не работал в C ++ / CLI

1 Ответ

0 голосов
/ 10 января 2011

I fixit ... Visual Studio 2008 C ++ / CLI автоматически создает файл конфигурации с именем app.config . Я изменил это имя на имя сборки MyProject.exe.config и теперь оно работает ... Существует скрытое соглашение Я думаю Assembly.dll.config assembly.exe.config шаблон именования, который я не знаю ...

...