[英]csc.exe with arguments does not compile/work from console application
我在C:\\ kaannos \\ main.cs中获得了main.cs文件。
我的字符串文件路径:
this.filePath = @"c:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe";
startInfo.FileName = filePath;
startInfo.Arguments = "C:\\kaannos\\main.cs";
// startInfo.UseShellExecute = false;
Process.Start(startInfo);
我的控制台应用程序会在csc.exe出现后立即显示,但它会自动弹出并关闭。 我检查了文件夹,并且没有main.exe,所以它没有编译。 如果我从命令提示符下运行此命令:csc C:\\ kaannos \\ main.cs,它将正常工作。 我关闭了UAC,因此不需要以管理员身份运行命令提示符进行测试,也因为我找不到以管理员身份运行进程的方法。 但是似乎不是这样,因为UAC已关闭? 有什么办法吗?
除非您使用/out
标志指定其他输出位置,否则csc
始终会将输出写入当前工作目录。
因此,如果您没有对当前工作目录的写访问权,它将不起作用,除非您指定/out
(或通过ProcessStartInfo.WorkingDirectory
更改工作目录)。 如果您满意将其写入工作目录,那么应该在那寻找结果。
此外,正如Hans Passant在评论中指出的那样,您应该考虑生成代码的其他编程方式:
CSharpCodeProvider
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.