我在asp.net网站上创建了一个批处理文件,它在本地系统中运行没有任何问题。在我将其上传到我的网站的服务器(共享服务器)后,它无法在远程环境中工作。
以下是我收到的错误
的屏幕截图这是我用来测试在服务器上运行批处理的代码。
string path = Server.MapPath("~/SourceCode/Jsil");
Response.Write(path+"<br>");
string batpath=Server.MapPath("~/Dir.bat");
string framework = Server.MapPath("~/SourceCode/v4.0.30319");
string vscompiler = @"\csc.exe /t:exe /r:JSIL.dll;JSIL.Meta.dll Program.cs";
string full = framework + vscompiler;
Response.Write(full);
StreamWriter file = new StreamWriter(batpath);
file.WriteLine("G:");
file.WriteLine("cd " + path);
file.Write(full);
file.Close();
//Excecute bat file
System.Diagnostics.Process compile = new System.Diagnostics.Process();
compile.StartInfo = new ProcessStartInfo(batpath);
compile.Start();
compile.Close();
答案 0 :(得分:0)
这可能是一个简单的特权问题。应用程序用户可能没有服务器框中的执行权限。您需要联系您的系统管理员并要求他为服务器中的IIS应用程序池用户提供执行权限。