我的iis服务正在调用控制台应用。此控制台应用程序引用DLL。
当我检查错误输出时,我得到了这个:
无法加载文件或程序集'file:/// c:\ windows \ system32 \ inetsrv \ MyDll.dll'
调用可执行文件的正确方法是什么:
到目前为止,我已经尝试过这个:
using (var p = new System.Diagnostics.Process())
{
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.FileName = downloaderPath;
p.Start();
string o = p.StandardOutput.ReadToEnd();
string i = p.StandardError.ReadToEnd();
p.WaitForExit();
}
答案 0 :(得分:1)
添加以下行:
p.StartInfo.WorkingDirectory = Path.GetDirectoryName(downloaderPath);
答案 1 :(得分:1)
添加:
p.StartInfo.WorkingDirectory = "c:\mydir\";
如果您不这样做,可执行文件将从运行IIS的目录启动(c:\ windows \ system32 \ inetsrv)。