将.Net Web Application部署到非Windows服务器

我的问题是需要什么以及将.NET Web应用程序部署到特定服务器的限制是什么。

服务器是否需要运行Windows

服务器是否需要安装.Net框架? (这可能与非Windows服务器?)

服务器是否需要安装IIS? (这可能与非Windows服务器?)

我的问题的原因是我们想创build和打包一个可以部署到客户服务器的应用程序,但是我们希望能够服务于使用Windows,Linux,Unix等服务器的客户。

我需要知道的限制和可用的解决方法

服务器是否需要运行Windows?

没有

服务器是否需要安装.Net框架? (这可能与非Windows服务器?)

没有必要,你可以使用单声道

服务器是否需要安装IIS? (这可能与非Windows服务器?)

不,和Apache一起工作

所以基本上,如果你想在非Windows服务器上运行一个.NET应用程序,你将不得不使用Mono ,但是正如注释部分的@Oded指出的那样,需要移植注意事项 – 你需要确保你没有使用特定于Windows的技术(比如WMI和GDI +),并且你的代码是可移植的(没有硬编码路径分隔符,使用Environment.NewLine而不是硬编码行结束符),没有P / Invoke和COM互操作,当然也有相同的限制你可能使用的第三方组件等等…