我在Visual Studio中编写了一个针对ASP.NET v.3的VB.NET表单站点,并使用Mono和它的VBNC编译器在我的一台Ubuntu机器上运行。
然而,在全新安装的Ubuntu上,在安装了所有必需的Mono软件包(包括运行时和编译器的最新版本)之后,每次我将页面的语言声明为VB时都会出现同样的错误:
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: VBNC_CRASH: Visual Basic.Net Compiler version 0.0.0.5943 Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved. Error : VBNC99999: Unexpected error: An exception was thrown by the type initializer for Mono.Cecil.BaseAssemblyResolver
at Mono.Cecil.DefaultAssemblyResolver..ctor () [0x00000] in <filename unknown>:0 at vbnc.Compiler.get_AssemblyResolver () [0x00000] in <filename unknown>:0 at vbnc.TypeManager.LoadAssembly (System.String Filename, System.String& FullPath) [0x00000] in <filename unknown>:0 at vbnc.TypeManager.LoadReferencedAssemblies () [0x00000] in <filename unknown>:0 at vbnc.TypeManager.LoadReferenced () [0x00000] in <filename unknown>:0 at vbnc.Compiler.Compile () [0x00000] in <filename unknown>:0
Compilation took 00:00:00.2333320
/default.aspx
Version information: Mono Runtime Version: 2.10.8.1 (Debian 2.10.8.1-1ubuntu2.2); ASP.NET Version: 2.0.50727.1433
我已经尝试了我能想象到的一切 - 安装所有必要的包(包括单声道完整版)并确保所有内容都已更新。困扰我的是,<%@ Page Language="VB" %>
的任何页面(甚至是一个hello世界)都会导致编译器崩溃。任何<%@ Page Language="C#" %>
的网页都可以正常使用。
我在这里缺少什么?