How do I dynamically invoke csc in the proper environment?
Messages   Related Types
This message was discovered on ASPFriends.com 'aspngescalate' list.
Responses highlighted in red are from those people who are likely to be able to contribute good, authoratitive information to this discussion. They include Microsoft employees, MVP's and others who IMHO contribute well to these kinds of discussions.

Jesse Liberty (VIP)
This problem was not answered in aspngcs. Thanks.

Problem:
I'd like to invoke CSC dynamically from within my running program. It fails,
I suspect because the cmd environment is not correct (e.g., path, libs,
etc.)

Description:
To do this I crate a processStartInfo object and set its FileName to
"cmd.exe" and I set its arguments property to "/c csc /target:library
<filename>.cs"

I then pass the ProcessStartInfo object to the constructor of a Process
object.

Help Requested:
The problem is that the compiler doesn't run. This is not a surprise,
Microsoft now includes a batch file vsvars32.bat to set up the environment
as needed. Is there a way to invoke a process from within the appropriately
established environment?

Thanks.

-j

PS: copying csc into the right directory causes the compiler to run but then
it can't find the libraries it needs.

-------------------------------
Jesse Liberty
Reply to this message...
 
    
Dan Green (VIP)
Don Box has an example available that compiles files using .NET Framework
classes: http://www.develop.com/dbox/dotnet/clrscript/

This avoids needing to execute any of the compile executables directly.
However, not knowing the context of what you're trying to do it's hard to
say if this will satisfy your needs. If it doesn't, I'm sorry for the
intrusion.

Dan Green
[ http://dotnetdan.com -- putting the dan in .net ]

----- Original Message -----
From: Jesse Liberty
To: aspngescalate
Sent: Saturday, August 18, 2001 2:13 AM
Subject: [aspngescalate] How do I dynamically invoke csc in the proper
environment?

This problem was not answered in aspngcs. Thanks.

Problem:
I'd like to invoke CSC dynamically from within my running program. It fails,
I suspect because the cmd environment is not correct (e.g., path, libs,
etc.)

Description:
To do this I crate a processStartInfo object and set its FileName to
"cmd.exe" and I set its arguments property to "/c csc /target:library
<filename>.cs"

I then pass the ProcessStartInfo object to the constructor of a Process
object.

Help Requested:
The problem is that the compiler doesn't run. This is not a surprise,
Microsoft now includes a batch file vsvars32.bat to set up the environment
as needed. Is there a way to invoke a process from within the appropriately
established environment?

Thanks.

-j

PS: copying csc into the right directory causes the compiler to run but then
it can't find the libraries it needs.

-------------------------------
Jesse Liberty

| [aspngescalate] member Click here to reveal e-mail address = YOUR ID |
http://www.asplists.com/asplists/aspngescalate.asp = JOIN/QUIT

Reply to this message...
 
 
System.Diagnostics.ProcessStartInfo




Ad
MBR BootFX
Best-of-breed application framework for .NET projects, developed by Matthew Baxter-Reynolds and MBR IT
 
 Copyright © Matthew Baxter-Reynolds 2001-2008. '.NET 247 Software Development Services' is a trading style of MBR IT Solutions Ltd.
Contact Us - Terms of Use - Privacy Policy - www.dotnet247.com