#.net #vb6 #interop #app-config
Вопрос:
У меня есть проект взаимодействия с .net, в котором используется файл app.config. Когда я запускаю проект VB6, использующий элемент управления взаимодействием в режиме отладки, ConfigurationManager не может найти файл app.config. Когда я превращаю проект VB6 в exe-файл и переименовываю файл app.config в (двоичное имя VB6).exe.config, ConfigurationManager может найти файл.
Есть ли способ переименовать файл app.config или изменить настройки, чтобы ConfigurationManager мог найти файл app.config во время работы VB6 в режиме отладки?
Комментарии:
1. Вы говорите: «скомпилируйте проект VB6 в exe — файл и переименуйте файл app.config в (двоичное имя VB6).exe.config, менеджер конфигураций может найти файл». Как вы запускаете проект VB6, если вы не компилируете его в exe-файл?
2. Если у вас есть какой-либо контроль над проектом .NET, вам действительно следует удалить его использование файла .config, так как это ужасная, ужасная идея. Если программа в program files загружает ее, вам нужно будет вставить туда конфигурацию, а это значит, что вам нужно быть администратором. это все большая куча неудач
3. Я согласен с тем, чтобы не использовать конфигурационный файл, но это решение принято выше меня.
4. Я запускаю проект VB6 с помощью команды Выполнить > Запустить F5; однако это происходит, когда файл app.config не может быть найден. Когда я создаю проект, используя Файл > создать prj.exe, он находит файл app.config.
5. @Muadite — хорошо, понял… Александр Кожевников прав, при отладке отладчика среды VB6 (vb6.exe) — это запуск exe, поэтому .net будет искать vb6.exe.config в папке VB6 exe.
Ответ №1:
Грязный взлом заключается в том, чтобы поместить файл app.config в папку VB6 и переименовать его в vb6.exe.config
Комментарии:
1. Это работает только тогда, когда я создаю исполняемый файл, а не во время его отладки
2. Вы переименовываете его в <ваше приложение>.exe.config? Я имею в виду, что тебе нужно поставить это на «C:Program ФайлыMicrosoft Visual StudioVB98VB6.EXE.config». VB6-это основной процесс при отладке, этот трюк должен сработать (хотя вам, вероятно, потребуется перезагрузить VB6).
3. @Александр Кожевников, это сработало. Мне жаль, что я сомневался в тебе. Я не знал о VB6.exe. Спасибо.
4. Я пытаюсь сделать то же самое, но у меня это не получается. Есть еще какие-нибудь предложения?
5. Вам также необходимо перезапустить VB6, если он был запущен