2010-05-03 3 views
1

Я использую PowerBuilder, чтобы вызвать внешнюю функцию из DLL, созданный в C#Powerbuilder запустить

Если я генерировать исполняемый файл он работает нормально, это вызвать веб-сервис отлично, но когда я пытаюсь запустить он в режиме «разработки» не использует файл «application_name.exe.config».

Я попытался установить «app.config» файл трудно закодированный в DLL, но я был неудачен

Ключом для решения этой проблемы?

ответ

-1

У DLL нет конфигурационных файлов. Только EXE.

+0

Спасибо за ответ ... – user331367

+0

Собственно, это неверно. Обе библиотеки DLL и EXE имеют файлы конфигурации. http://msdn.microsoft.com/en-us/library/aa374182%28VS.85%29.aspx –

1

Я думаю, вы описали его сами: вы ищете его, чтобы использовать что-то, используемое EXE, когда вы работаете из режима разработки. Когда вы запускаете из режима разработки, EXE не генерируется или не используется, поэтому Windows не будет использовать функциональные возможности, связанные с EXE. (PB запускает ваше приложение так быстро, потому что оно загружает приложение на виртуальную машину и запускает его событие Open.) Если вам это нужно, похоже, вам придется включить развертывание EXE и запуск его как часть вашего цикл тестирования.

Удача,

Terry.

+0

Да, это нечто подобное. Я пытаюсь предотвратить это, потому что полная сборка и EXE-генерация моего приложения - это 2-часовой процесс. – user331367

+2

Говорить, что это двухчасовой процесс, похоже, что вы используете исключительно полную сборку. Хотя это подход, я бы определенно выступал за окончательные сборки, пытались ли вы экспериментировать с инкрементальными сборками? Он гораздо более прочный, чем раньше, и, как я уже сказал, я думаю, вам понадобится сборка EXE для тестирования, в которой используется файл конфигурации. (Я буду рад, если кто-то добавит это, что доказывает, что я ошибаюсь.) – Terry

+0

Существует более одного человека, разрабатывающего это приложение, и мы используем некоторые объекты, унаследованные от других, поэтому, если PB начинается с инкрементной сборки, но встречается с некоторыми ошибками, он сделает полную сборку ... tks для ответа. Но я не пробовал, потому что мне это больше не нужно. – user331367

0

Когда вы компилируете и запускаете exe, вы используете свой exe. Но при запуске из среды dev вы используете pbxxx.exe (pb115.exe, pb110.exe и т. Д.). Возможно, вы сможете скопировать «application_name.exe.config» в каталог pb и переименовать его как pbxxx.exe.config. По крайней мере, так оно работает с файлами манифеста - у меня было два, один из которых называется appname.exe.manifest, а один называется pb115.exe.manifest.

+0

Решение, которое мы находим, заключалось в том, чтобы использовать конфигурации, созданные сгенерированным EXE в файле PB115.exe.config. И он найдет, что нужно для правильной работы. Большое спасибо за ответы. – user331367

0

Любопытно, но сколько библиотек/объектов находится в вашем приложении?

У меня есть очень большие приложения, и самый длинный из них для полной сборки составляет около 30 минут. Что-то странное в вашем приложении, чтобы оно заняло 2 часа, чтобы сделать полную сборку.

+0

FWIW, я видел, что некоторые объекты занимают значительно больше времени (величины), чтобы регенерировать, чем другие. Возможно, было бы нецелесообразно пытаться экстраполировать приложение из одного приложения в другое, не говоря уже о том, чтобы одна из систем сборки была другой. (Процесс сборки PB имеет тенденцию быть довольно жестким дисковым вводом-выводом, поэтому более медленные диски будут иметь существенное значение.) – Terry

+0

134 Библиотеки, на данный момент ... – user331367

Смежные вопросы