我试图部署使用单2.10.8.1瓦特/ FastCGI的,单服务器4我的Linux服务器上单声道/ OSX开发的ASP MVC项目
web应用程序总是启动正常,但后来我开始变得随机CS0006编译错误的各种URI的,一旦他们打破,直到我重新启动服务器应用程序,他们仍然打破。
一个例子错误:
Server Error in '/' Application
Compilation Error
Description: Error compiling a resource required to service this request. Review your source file and modify it to fix this error.
Compiler Error Message: CS0006: Metadata file `/tmp/root-temp-aspnet-0/ed68754/App_global.asax_40e709ea.dll' could not be found
~/Views/Order/Download.aspx
还有一个相关的线程一月,但两者的问题,答案似乎是mod_mono具体,而手工波浪。 任何人有什么尝试调试/解决/工作解决此问题有什么建议? 它变得非常沮丧。 尤其是,是否有任何“不支持”的替代方案,我可以从我的Windows Server计算机复制的东西使用MS实现,而不是越野车单吗?
(我已经提交了一份bug报告了。)
由于错误似乎是问题与单JIT试图编译不存在的临时文件,我花了几天试图解决这个问题,不同的工作方法(VS解决它)。 该工作的一个解决方案是使用aspnet_compiler在Windows平台上创建可以复制的二进制版本,并运行作为-是Linux /单声道(为单色的最新版本现在支持预编译ASP.NET应用程序)。
不过,我一直在寻找一个本地Linux的解决方案,我不希望有编译和同步二进制文件(VS同步的代码GIT回购)到服务器,所以我一直在寻找另一种解决方案,当我遇到单提前来到时间汇编,这是非常ngen.exe的Windows上的等价物。
虽然它不预编译的一切,似乎已经完成了帽子戏法。 对我来说,这个部署脚本确实没有任何运行构建失败的工作:
xbuild SystemDiscs.sln
mono --aot -O=all SystemDiscs/bin/SystemDiscs*.dll
killall -9 mono
nohup fastcgi-mono-server4 /socket=tcp:127.0.0.1:8000 /applications=/:/var/asp/S
ystemDiscs/SystemDiscs/ > /var/log/systemdiscs.log &
其中SystemDiscs*.dll
是编译时溶液的输出xbuild
在第一步骤。 我不认为这预编译ASP页(和--aot =完全不支持x86,据我可以告诉),但不知何故,它做的工作。 我等着看到是否是侥幸,但它已经持续细也许十几款/部署,因为我问这个十几天前,所以我认为其安全地说,它的工作原理。
我有一个类似的问题:
Compilation Error
Description: Error compiling a resource required to service this request. Review your source file and modify it to fix this error.
Compiler Error Message: CS0006: Metadata file `/tmp/<DOMAIN/>/<username/>-temp-aspnet-0/5ed74d00/App_global.asax_34cccb99.dll' could not be found
/Default.aspx
但它没有任何与预编译,但在我的用户名反斜杠。 我用同样打开登录到Windows域,让我的用户名是<DOMAIN /> \ <用户名/>而我的主目录是没有一个反斜杠:/家庭/同样开/ <DOMAIN /> / <用户名/ >。 这种差异或只是反斜杠本身造成的单声道没有找到在临时目录中的编译Global.asax中。 如果你仔细看看详细的输出,你看到在输出参数反斜线\更改为一个斜杠(/):
dmcs /target:library /lib:"/home/likewise-open/<DOMAIN/>/<username/>/Documents/test9999/test9999/bin" /debug+ /optimize- /warn:4 /out:"/tmp/<DOMAIN/>\<username/>-temp-aspnet-0/5ed74d00/App_Web_17ca7bdd.dll" /r:"/usr/lib/mono/4.0/mscorlib.dll" /r:"/usr/lib/mono/gac/Microsoft.CSharp/4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.dll" /r:"/usr/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll" /r:"/usr/lib/mono/gac/System.Configuration/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll" /r:"/usr/lib/mono/gac/System.Web/4.0.0.0__b03f5f7f11d50a3a/System.Web.dll" /r:"/usr/lib/mono/gac/System.Data/4.0.0.0__b77a5c561934e089/System.Data.dll" /r:"/usr/lib/mono/gac/System.Web.Services/4.0.0.0__b03f5f7f11d50a3a/System.Web.Services.dll" /r:"/usr/lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.dll" /r:"/usr/lib/mono/gac/System.Drawing/4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll" /r:"/usr/lib/mono/gac/System.EnterpriseServices/4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll" /r:"/usr/lib/mono/gac/System.IdentityModel/4.0.0.0__b77a5c561934e089/System.IdentityModel.dll" /r:"/usr/lib/mono/gac/System.Runtime.Serialization/4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll" /r:"/usr/lib/mono/gac/System.Xaml/4.0.0.0__b77a5c561934e089/System.Xaml.dll" /r:"/usr/lib/mono/gac/System.ServiceModel/4.0.0.0__b77a5c561934e089/System.ServiceModel.dll" /r:"/usr/lib/mono/gac/System.ServiceModel.Web/4.0.0.0__31bf3856ad364e35/System.ServiceModel.Web.dll" /r:"/usr/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll" /r:"/usr/lib/mono/gac/System.Web.Extensions/4.0.0.0__31bf3856ad364e35/System.Web.Extensions.dll" /r:"/usr/lib/mono/gac/System.Data.DataSetExtensions/4.0.0.0__b77a5c561934e089/System.Data.DataSetExtensions.dll" /r:"/usr/lib/mono/gac/System.Xml.Linq/4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll" /r:"/usr/lib/mono/gac/System.ComponentModel.DataAnnotations/4.0.0.0__31bf3856ad364e35/System.ComponentModel.DataAnnotations.dll" /r:"/usr/lib/mono/gac/System.Web.DynamicData/4.0.0.0__31bf3856ad364e35/System.Web.DynamicData.dll" /r:"/usr/lib/mono/gac/System.Data.Linq/4.0.0.0__b77a5c561934e089/System.Data.Linq.dll" /r:"/usr/lib/mono/gac/System.Web.ApplicationServices/4.0.0.0__31bf3856ad364e35/System.Web.ApplicationServices.dll" /r:"/home/likewise-open/<DOMAIN/>/<username/>/Documents/test9999/test9999/bin/test9999.dll" /r:"/tmp/<domain/>/<username/>-temp-aspnet-0/5ed74d00/App_global.asax_34cccb99.dll" /nowarn:0169 /d:DEBUG -- "/tmp/<DOMAIN/>\<username/>-temp-aspnet-0/5ed74d00/App_Web_17ca7bdd_0.cs"
所以:
/out:"/tmp/<DOMAIN/>\<username/>-temp-aspnet-0/5ed74d00/App_Web_17ca7bdd.dll
变
/tmp/<DOMAIN/>/<username/>-temp-aspnet-0/5ed74d00/App_global.asax_34cccb99.dll
如果我的目录5ed74d00复制到/ tmp / <DOMAIN /> / <用户名/> - 温-ASPNET-0 /应用程序正常工作。
我花了近2天看到这一点,所以希望我可以帮助别人这个答案。