在 Ubuntu 上通过 Apache/mod_mono 使用 ASP.NET 时出现的问题

在 Ubuntu 上通过 Apache/mod_mono 使用 ASP.NET 时出现的问题

我运行一个 Ubuntu 测试服务器,我的部署系统也是 Ubuntu。

我最近一直在尝试让 ASP.NET 在我的测试服务器上运行,以便我们可以将其投入使用。我设法安装并正确配置了它,我的应用程序也已安装并正在运行,但我无法让它运行。

我不断收到的错误如下,如果有人知道可能发生了什么,我将不胜感激。

“/”应用程序中的服务器错误

标准输出尚未重定向或进程尚未启动。

描述:HTTP 500。处理请求时出错。

堆栈跟踪:

System.InvalidOperationException:标准输出尚未重定向或进程尚未启动。
  在 System.Diagnostics.Process.CancelErrorRead () [0x00000]
  在(包装器远程调用检查)System.Diagnostics.Process:CancelErrorRead()
  在 Mono.CSharp.CSharpCodeCompiler.CompileFromFileBatch (System.CodeDom.Compiler.CompilerParameters 选项,System.String[] fileNames) [0x00000]
  在 Mono.CSharp.CSharpCodeCompiler.CompileAssemblyFromFileBatch (System.CodeDom.Compiler.CompilerParameters 选项,System.String[] fileNames) [0x00000]
  在 System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromFile (System.CodeDom.Compiler.CompilerParameters 选项,System.String[] fileNames) [0x00000]
  在 System.Web.Compilation.AssemblyBuilder.BuildAssembly (System.Web.VirtualPath virtualPath,System.CodeDom.Compiler.CompilerParameters 选项) [0x00000]
  在 System.Web.Compilation.AssemblyBuilder.BuildAssembly (System.Web.VirtualPath virtualPath) [0x00000]
  在 System.Web.Compilation.BuildManager.BuildAssembly (System.Web.VirtualPath virtualPath) [0x00000]
  在 System.Web.Compilation.BuildManager.GetCompiledType (System.String virtualPath) [0x00000]
  在 System.Web.HttpApplicationFactory.InitType (System.Web.HttpContext 上下文) [0x00000]

版本信息:Mono版本:2.0.50727.42;ASP.NET版本:2.0.50727.42

Apache 版本字符串:Apache/2.2.11 (Ubuntu) mod_mono/2.0 PHP/5.2.6-3ubuntu4.2,带有 Suhosin-Patch 服务器,位于开发端口 80

附言:我必须将三个 DLL 添加到/bin我的应用程序目录中,并从 Windows 复制它们,因为我在 Mono 的任何包中都找不到它们。我不知道这是否会造成问题。我必须添加的列表是:

  • 系统.Web.抽象
  • 系统.Web.路由
  • 系统.Web.Mvc

答案1

这对我有帮助,YMMV。另一个建议是安装 mono-devel 包。

这里

尝试:

sudo find /usr/bin | grep gmcs

如果结果不是

/usr/bin/gmcs
/usr/bin/gmcs2

然后尝试:

  1. 安装 mono-gmcs 包(如果只有“/usr/bin/gmcs”)
  2. 如果你只有“/usr/bin/gmcs2”,则在其上创建名为 gmcs 的符号链接

    sudo ln -s /usr/bin/gmcs2 /usr/bin/gmcs

重新启动 apache2 或 xsp 或您的 Web 服务器并在浏览器中检查结果。我认为这会有所帮助。

答案2

我在 mono 上设置了我的 asp.net 网站 blogengine.net (blog.extriko.com)。我在 apache 中运行它时遇到了麻烦,所以我找到了使用 mono-fastcgi-server2 发布,并在 lighttpd 上运行 fastcgi。效果很好,lighttpd 的设置也非常简单。

相关内容