2016-01-13 32 views
3

我尝试在Visual Studio中将ASP NET 4.5网站部署到Mono Server。mono on debian:找不到文件“/srv/www/proj/binroslyncsc.exe”

System.IO.FileNotFoundException 找不到文件“/srv/www/proj/bin\roslyn\csc.exe”。

描述:HTTP 500.Error处理请求。

System.IO.FileNotFoundException 
Could not find file "/srv/www/proj/bin\roslyn\csc.exe". 

Description: HTTP 500.Error processing request. 

Details: Non-web exception. Exception origin (name of application or object): mscorlib. 
Exception stack trace: 
    at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) <0x41aaab70 + 0x006e7> in  <filename unknown>:0 
    at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) <0x41bba470 + 0x00053> in <filename unknown>:0 
    at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare) 
    at System.IO.File.OpenRead (System.String path) <0x41bc4b50 + 0x0003f> in <filename unknown>:0 
    at Microsoft.CodeDom.Providers.DotNetCompilerPlatform.Compiler.get_CompilerName() <0x41e0fb40 + 0x00086> in <filename unknown>:0 
    at Microsoft.CodeDom.Providers.DotNetCompilerPlatform.Compiler.FromFileBatch (System.CodeDom.Compiler.CompilerParameters options, System.String[] fileNames) <0x41e1d600 + 0x005ce> in  <filename unknown>:0 
    at Microsoft.CodeDom.Providers.DotNetCompilerPlatform.Compiler.CompileAssemblyFromFileBatch (System.CodeDom.Compiler.CompilerParameters options, System.String[] fileNames) <0x41e1d460 +  0x000c7> in <filename unknown>:0 
    at System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromFile (System.CodeDom.Compiler.CompilerParameters options, System.String[] fileNames) <0x41e1d2b0 + 0x0004d> in <filename  unknown>:0 
    at System.Web.Compilation.AssemblyBuilder.BuildAssembly (System.Web.VirtualPath virtualPath, System.CodeDom.Compiler.CompilerParameters options) <0x41e0da40 + 0x00991> in <filename  unknown>:0 
    at System.Web.Compilation.AssemblyBuilder.BuildAssembly (System.Web.VirtualPath virtualPath) <0x41e0da00 + 0x00023> in <filename unknown>:0 
    at System.Web.Compilation.BuildManager.GenerateAssembly (System.Web.Compilation.AssemblyBuilder abuilder, System.Web.Compilation.BuildProviderGroup group, System.Web.VirtualPath vp, Boolean  debug) <0x41e0be60 + 0x009af> in <filename unknown>:0 
    at System.Web.Compilation.BuildManager.BuildInner (System.Web.VirtualPath vp, Boolean debug) <0x41dc8e90 + 0x00523> in <filename unknown>:0 
    at System.Web.Compilation.BuildManager.Build (System.Web.VirtualPath vp) <0x41dc89d0 + 0x0011b> in <filename unknown>:0 
    at System.Web.Compilation.BuildManager.GetCompiledType (System.Web.VirtualPath virtualPath) <0x41dc87f0 + 0x00093> in <filename unknown>:0 
    at System.Web.Compilation.BuildManager.GetCompiledType (System.String virtualPath) <0x41dc87c0 + 0x00017> in <filename unknown>:0 
     at System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.GetCompiledType (System.String virtualPath) <0x41dc87a0 + 0x00013> in <filename unknown>:0 
    at System.Web.Mvc.BuildManagerCompiledView.Render (System.Web.Mvc.ViewContext viewContext, System.IO.TextWriter writer) <0x41dc8580 + 0x00055> in <filename unknown>:0 
    at System.Web.Mvc.ViewResultBase.ExecuteResult (System.Web.Mvc.ControllerContext context) <0x41dbb2a0 + 0x001ec> in <filename unknown>:0 
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult (System.Web.Mvc.ControllerContext controllerContext, System.Web.Mvc.ActionResult actionResult) <0x41d3a2f0 + 0x0001d> in  <filename unknown>:0 
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive (IList`1 filters, Int32 filterIndex, System.Web.Mvc.ResultExecutingContext preContext,  System.Web.Mvc.ControllerContext controllerContext, System.Web.Mvc.ActionResult actionResult) <0x41dbae00 + 0x0008a> in <filename unknown>:0 
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive (IList`1 filters, Int32 filterIndex, System.Web.Mvc.ResultExecutingContext preContext,  System.Web.Mvc.ControllerContext controllerContext, System.Web.Mvc.ActionResult actionResult) <0x41dbae00 + 0x001bf> in <filename unknown>:0 

我在做什么错?

回答

4

最后我设法它的工作。 对于那些,谁正在寻找一个类似的解决方案:

在我的Apache虚拟主机配置我需要添加

MonoSetEnv inventur.netdienste.com MONO_IOMAP=all 

该指令翻译斜线向后斜杠。

+1

这也解决了我从MonoDevelop运行时遇到的问题。启动它作为'MONO_IOMAP =所有monodevelop'工作。 –

+2

我正在OS Sierra上工作,只是安装了VS.我应该在哪里放这条线?你能解释一下吗?谢谢! – Icet

+0

@Icet你能用VS解决吗? –

0

我不知道这是什么原因导致你的问题,但你有一些不正确的路径字符串中的斜面。

它可以是:

"/srv/www/proj/bin/roslyn/csc.exe" 

或者:

"\srv\www\proj\bin\roslyn\csc.exe" 
+0

我可以在哪里更改此路径设置?我没有找到它, –

+0

@DanielPomrehn我只是假设你有一个字符串在你的源代码的某个地方被错误地输入了,虽然这个异常并没有帮助说明在哪里。 – MiddaPhofidda