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.