Consultor Eletrônico



Kbase P138821: Proxygen fails with error 7246 when generating .NET proxies if there are a very large number of temp
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   18/12/2008
Status: Unverified

SYMPTOM(s):

Generating .NET proxy using ProxyGen

Proxy contains very large number of programs

Most of the programs in the proxy make use of one or more temp-tables

Proxy generation fails with error 7246

Exception executing <program name>. (7246)

The proxy log file shows an extremely long command string for the csc.exe compiler when ProxyGen attempt to generate the final DLL.

The line in the proxy log file that contains the string "(7246)" is not complete and ends with a question mark

FACT(s) (Environment):

OpenEdge 10.x
Windows

CAUSE:

The large number of temp-tables in use caused the maximum length of the command line that the C# compiler (csc.exe) can support to be exceeded. The maximum length that the C# compiler supports for the command line is 32K.

FIX:

To resolve this issue do the following:

1) Add "/leaveproxyfiles" to the command line for the ProxyGen icon
2) Regenerate the proxy (please note that generation will still fail)
3) Open your proxy .log file and copy the full csc.exe command line up and including the part that goes "/out:<something_here>.dll".
4) Run "Proenv" from the Start Menu.
5) Paste the text copied in step #3 into the command line in Proenv.
6) Add the following to the end of the command line in Proenv:

/recurse:<your_path_for_the_.cs_files_as_shown_in_the_proxy_log_file>\*.cs

7) Press the enter key to invoke the C# compiler
8) If all goes well the C# compiler will compile and link the proxy DLL and you will be finished.