Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Visual Studio 2015在Mono上编译ASP.NET MVC站点模板-System.InvalidOperationException_Asp.net Mvc_Nginx_Mono - Fatal编程技术网

Asp.net mvc Visual Studio 2015在Mono上编译ASP.NET MVC站点模板-System.InvalidOperationException

Asp.net mvc Visual Studio 2015在Mono上编译ASP.NET MVC站点模板-System.InvalidOperationException,asp.net-mvc,nginx,mono,Asp.net Mvc,Nginx,Mono,最近,我一直在试用Mono来托管ASP.NET MVC应用程序,当尝试运行使用Visual Studio 15构建的模板应用程序时,我遇到以下错误: System.InvalidOperationException没有与此关联的进程 反对 堆栈跟踪: at System.Diagnostics.Process.EnsureState (System.Diagnostics.Process+State state) [0x0001e] in <affe4060066c42de8cdd602

最近,我一直在试用Mono来托管ASP.NET MVC应用程序,当尝试运行使用Visual Studio 15构建的模板应用程序时,我遇到以下错误:

System.InvalidOperationException没有与此关联的进程 反对

堆栈跟踪:

 at System.Diagnostics.Process.EnsureState (System.Diagnostics.Process+State state) [0x0001e] in <affe4060066c42de8cdd6027cdb92b56>:0 
 at System.Diagnostics.Process.get_HasExited () [0x0000b] in <affe4060066c42de8cdd6027cdb92b56>:0 
 at System.Diagnostics.Process.EnsureState (System.Diagnostics.Process+State state) [0x00093] in <affe4060066c42de8cdd6027cdb92b56>:0 
 at System.Diagnostics.Process.get_ExitCode () [0x00000] in <affe4060066c42de8cdd6027cdb92b56>:0 
 at (wrapper remoting-invoke-with-check) System.Diagnostics.Process:get_ExitCode () 
 at System.CodeDom.Compiler.Executor.InternalExecWaitWithCapture (System.String cmd, System.String currentDir, System.CodeDom.Compiler.TempFileCollection tempFiles, System.String& outputName, System.String& errorName) [0x000f1] in <affe4060066c42de8cdd6027cdb92b56>:0 
 at System.CodeDom.Compiler.Executor.ExecWaitWithCapture (System.IntPtr userToken, System.String cmd, System.String currentDir, System.CodeDom.Compiler.TempFileCollection tempFiles, System.String& outputName, System.String& errorName) [0x00007] in <affe4060066c42de8cdd6027cdb92b56>:0 
 at Microsoft.CodeDom.Providers.DotNetCompilerPlatform.Compiler.Compile (System.CodeDom.Compiler.CompilerParameters options, System.String compilerFullPath, System.String arguments, System.String& outputFile, System.Int32& nativeReturnValue) [0x00071] in <57d777233c3f47cfbcc22a12ce3dc52b>:0 
 at Microsoft.CodeDom.Providers.DotNetCompilerPlatform.Compiler.FromFileBatch (System.CodeDom.Compiler.CompilerParameters options, System.String[] fileNames) [0x00170] in <57d777233c3f47cfbcc22a12ce3dc52b>:0 at Microsoft.CodeDom.Providers.DotNetCompilerPlatform.Compiler.CompileAssemblyFromFileBatch (System.CodeDom.Compiler.CompilerParameters options, System.String[] fileNames) [0x00048] in <57d777233c3f47cfbcc22a12ce3dc52b>:0 
 at System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromFile (System.CodeDom.Compiler.CompilerParameters options, System.String[] fileNames) [0x00014] in <affe4060066c42de8cdd6027cdb92b56>:0 
 at System.Web.Compilation.AssemblyBuilder.BuildAssembly (System.Web.VirtualPath virtualPath, System.CodeDom.Compiler.CompilerParameters options) [0x002f5] in <80d482637b7943f8b4edcf91864a2ce4>:0 
 at System.Web.Compilation.AssemblyBuilder.BuildAssembly (System.Web.VirtualPath virtualPath) [0x00008] in <80d482637b7943f8b4edcf91864a2ce4>:0 
 at System.Web.Compilation.BuildManager.GenerateAssembly (System.Web.Compilation.AssemblyBuilder abuilder, System.Web.Compilation.BuildProviderGroup group, System.Web.VirtualPath vp, System.Boolean debug) [0x00264] in <80d482637b7943f8b4edcf91864a2ce4>:0 
 at System.Web.Compilation.BuildManager.BuildInner (System.Web.VirtualPath vp, System.Boolean debug) [0x0011c] in <80d482637b7943f8b4edcf91864a2ce4>:0 
 at System.Web.Compilation.BuildManager.Build (System.Web.VirtualPath vp) [0x00063] in <80d482637b7943f8b4edcf91864a2ce4>:0 
 at System.Web.Compilation.BuildManager.GetCompiledType (System.Web.VirtualPath virtualPath) [0x00040] in <80d482637b7943f8b4edcf91864a2ce4>:0 
 at System.Web.Compilation.BuildManager.GetCompiledType (System.String virtualPath) [0x00006] in <80d482637b7943f8b4edcf91864a2ce4>:0 
 at System.Web.HttpApplicationFactory.InitType (System.Web.HttpContext context) [0x00179] in <80d482637b7943f8b4edcf91864a2ce4>:0 
位于中的System.Diagnostics.Process.Restreat(System.Diagnostics.Process+状态)[0x0001e]

我在VS15中创建的项目中遇到的第一个问题是:

找不到文件“/var/www/html/mono/bin\roslyn\csc.exe”

因此,我使用了MONO_IOMAP=all设置(不确定这是否是解决此问题的正确方法)。后来我得到了我之前提到的例外情况

这两个站点(使用VS13构建的工作站点和模板站点)都以.NETFramework 4.5为目标。我能在Web.config文件中找到的唯一大的区别是这个部分(在新站点中找到):



我怀疑这个问题与VS15正在使用Roslyn编译器这一事实有关。非常感谢您的帮助。

仔细检查错误消息并比较VS2013/2015项目,您应该会发现编译器平台位是罪魁祸首


微软主要是为.NET设计的,所以它在Mono上不能很好地工作。要么从项目中删除它以支持Mono,要么完全切换到.NET Core。

仔细检查错误消息并比较VS2013/2015项目,您应该会发现编译器平台位是罪魁祸首


微软主要是为.NET设计的,所以它在Mono上不能很好地工作。要么从项目中删除它以支持Mono,要么完全切换到.NET Core。

我明白了。NET内核似乎已经足够好了。我想它没有.NET framework的全部功能,所以你有没有详细列出缺少什么的列表?我明白了。NET内核似乎已经足够好了。我想它没有.NET framework的全部功能,所以您有没有详细列出缺少哪些功能的列表?
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
    </compilers>
  </system.codedom>