2010-05-03 75 views
1

我使用PowerBuilder中調用從C#創建DLL外部函數PowerBuilder的運行

如果我生成它工作正常的可執行文件,它調用Web服務非常清楚,但是當我試圖運行它在「開發」模式下不使用「application_name.exe.config」文件。

我試圖設置「的app.config」文件中的DLL硬編碼,但我沒有成功

線索來解決這個問題?

回答

-1

DLL的沒有配置文件。只有EXE的。

+0

感謝您的回覆... – user331367 2010-05-03 13:11:40

+0

其實,這是不正確的。 DLL和EXE都有配置文件。 http://msdn.microsoft.com/en-us/library/aa374182%28VS.85%29.aspx – 2010-05-04 00:22:55

1

我想你自己描述過它:當你從開發模式運行時,你正在尋找它來使用EXE使用的東西。從開發模式運行時,沒有生成或使用EXE,因此Windows不會利用鏈接到EXE的功能。 (PB會很快啓動您的應用程序,因爲它只會將應用程序加載到虛擬機並運行其Open事件。)如果您需要這樣做,聽起來您必須包含EXE的部署並將其作爲您的一部分運行測試周期。

祝你好運,

特里。

+0

是的,就是這樣的。 我試圖阻止這種情況,因爲我的應用程序的完整構建和EXE生成是一個2小時的過程。 – user331367 2010-05-03 13:10:49

+2

說出來這是一個2小時的過程,聽起來就像你完全使用完整版本。雖然這是我最終提倡的最終構建方法,但您是否嘗試過使用增量構建?它比以前更堅固,就像我說過的,我認爲你需要一個EXE編譯器來測試使用配置文件。 (我會很高興如果有人有東西要添加,證明我錯了)。 – Terry 2010-05-03 17:36:58

+0

有多個人開發此應用程序,我們使用一些從其他人繼承的對象,所以如果PB開始使用Incremental Build但遇到一些錯誤,它會做一個完整的構建... tks的答覆。 但我不嘗試,因爲我不再需要它。 – user331367 2010-05-12 13:41:13

0

當你編譯並運行你正在使用你的exe文件。但是當你從開發環境運行時,你實際上使用的是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 2010-05-12 10:31:20

0

只是好奇,但有多少庫/對象在你的應用程序?

我有一些非常大的應用程序和他們最長的任何需要做一個完整的構建大約30分鐘。對於您的應用程序而言,需要花費2個小時才能完成構建,這有點奇怪。

+0

FWIW,我看到一些物體比其他物體重新獲得更長的時間(幅度)。嘗試從一個應用推斷到另一個應用可能不合適,更不用說從一個構建系統到另一個。 (PB構建過程往往會受到磁盤I/O限制,所以較慢的磁盤會產生顯着差異。) – Terry 2010-05-14 03:43:28

+0

134庫,現在... – user331367 2010-05-14 10:17:35