Spacebuilder在Mono上运行修改备忘
Spacebuilder 是一个asp.net mvc3项目,使用到了Combres,Combres依赖于dotless,然后在Spacebuilder的项目没有见到的dotless,运行要求dotless 1.3.0.2版本,通过Nuget获取:
Install-Package dotless -Version 1.3.0.2
修改web.config加入dotless配置:
<configuration>
<configSections>
<section name="combres" requirePermission="false" type="Combres.ConfigSectionSetting, Combres, Version=2.2.2.6" />
<section name="dotless" type="dotless.Core.configuration.DotlessConfigurationSectionHandler, dotless.Core" />
</configSections>
……
<dotless minifyCss="false" cache="true" web="false" />
</configuration>
另外将Microsoft.Web.Infrastructure.dll 剔除,让程序使用Mono自带的动态库,具体参看 Linux.NET学习手记(5)或者 Get MVC3 Razor Running on Mono。
访问 http://mono.cloudapp.net/ ,接着又发生了数据库连接错误:System.NotImplementedException (SSL encryption for data sent between client and server is not implemented.)在stackoverflow上看到了类似问题:http://stackoverflow.com/questions/14075667/cant-connect-to-sql-azure-database-using-monotouch,看来通过Windows Azure来做测试没戏,还得老实搭建本地环境来测试。
在Windows Azure独立建立一个虚拟机安装SQL Server 2008 R2,手工安装spb。
System.InvalidProgramException
Invalid IL code in System.Web.Handlers.ScriptModule:.ctor (): method body is empty.
Description: HTTP 500.Error processing request.
Details: Non-web exception. Exception origin (name of application or object): mscorlib.
Exception stack trace:
at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&) at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
需要使用mono版本的System.Web.Extensions.dll,System.Web.WebPages.Administration.dll
在Mono 下以上程序集就可以跑ASP.NET mvc 3.
web.config 添加上了 <globalization culture="zh-CN" uiCulture="en-US"/> 但还是报错
System.ArgumentNullException
Argument cannot be null. Parameter name: key
Description: HTTP 500.Error processing request.
Details: Non-web exception. Exception origin (name of application or object): mscorlib.
Exception stack trace:
at System.Resources.ResourceManager.InternalGetResourceSet (System.Globalization.CultureInfo culture, Boolean createIfNotExists, Boolean tryParents) [0x00000] in <filename unknown>:0 at System.Resources.ResourceManager.InternalGetResourceSet (System.Globalization.CultureInfo culture, Boolean createIfNotExists, Boolean tryParents) [0x00000] in <filename unknown>:0 at System.Resources.ResourceManager.InternalGetResourceSet (System.Globalization.CultureInfo culture, Boolean createIfNotExists, Boolean tryParents) [0x00000] in <filename unknown>:0 at System.Resources.ResourceManager.GetString (System.String name, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 at System.Web.Razor.Resources.RazorResources.get_BlockName_Code () [0x00000] in <filename unknown>:0 at System.Web.Razor.Parser.CSharpCodeParser.ParseBlock () [0x00000] in <filename unknown>:0 at System.Web.Razor.Parser.ParserBase.ParseBlockWithOtherParser (System.Web.Razor.Parser.SyntaxTree.SpanFactory previousSpanFactory, Boolean collectTransitionToken) [0x00000] in <filename unknown>:0 at System.Web.Razor.Parser.HtmlMarkupParser.TryStartCodeParser (Boolean isSingleLineMarkup, Boolean documentLevel) [0x00000] in <filename unknown>:0 at System.Web.Razor.Parser.HtmlMarkupParser.ParseRootBlock (System.Tuple`2 nestingSequences, Boolean caseSensitive) [0x00000] in <filename unknown>:0 at System.Web.Razor.Parser.HtmlMarkupParser.ParseDocument () [0x00000] in <filename unknown>:0 at System.Web.Razor.Parser.RazorParser.Parse (System.Web.Razor.Text.LookaheadTextReader input, System.Web.Razor.Parser.ParserVisitor visitor) [0x00000] in <filename unknown>:0 at System.Web.Razor.RazorTemplateEngine.GenerateCodeCore (System.Web.Razor.Text.LookaheadTextReader input, System.String className, System.String rootNamespace, System.String sourceFileName, Nullable`1 cancelToken) [0x00000] in <filename unknown>:0 at System.Web.Razor.RazorTemplateEngine.GenerateCode (System.IO.TextReader input, System.String className, System.String rootNamespace, System.String sourceFileName, Nullable`1 cancelToken) [0x00000] in <filename unknown>:0 at System.Web.Razor.RazorTemplateEngine.GenerateCode (System.IO.TextReader input, System.String className, System.String rootNamespace, System.String sourceFileName) [0x00000] in <filename unknown>:0 at System.Web.WebPages.Razor.RazorBuildProvider.EnsureGeneratedCode () [0x00000] in <filename unknown>:0 at System.Web.WebPages.Razor.RazorBuildProvider.get_CodeCompilerType () [0x00000] in <filename unknown>:0 at System.Web.Compilation.BuildManagerDirectoryBuilder.GetBuildProviderCodeDomType (System.Web.Compilation.BuildProvider bp) [0x00000] in <filename unknown>:0 at System.Web.Compilation.BuildManagerDirectoryBuilder.AssignToGroup (System.Web.Compilation.BuildProvider buildProvider, System.Collections.Generic.List`1 groups) [0x00000] in <filename unknown>:0 at System.Web.Compilation.BuildManagerDirectoryBuilder.Build (Boolean single) [0x00000] in <filename unknown>:0 at System.Web.Compilation.BuildManager.BuildInner (System.Web.VirtualPath vp, Boolean debug) [0x00000] in <filename unknown>:0 at System.Web.Compilation.BuildManager.Build (System.Web.VirtualPath vp) [0x00000] in <filename unknown>:0 at System.Web.Compilation.BuildManager.GetCompiledType (System.Web.VirtualPath virtualPath) [0x00000] in <filename unknown>:0 at System.Web.Compilation.BuildManager.GetCompiledType (System.String virtualPath) [0x00000] in <filename unknown>:0 at System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.GetCompiledType (System.String virtualPath) [0x00000] in <filename unknown>:0 at System.Web.Mvc.BuildManagerCompiledView.Render (System.Web.Mvc.ViewContext viewContext, System.IO.TextWriter writer) [0x00000] in <filename unknown>:0 at System.Web.Mvc.ViewResultBase.ExecuteResult (System.Web.Mvc.ControllerContext context) [0x00000] in <filename unknown>:0 at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult (System.Web.Mvc.ControllerContext controllerContext, System.Web.Mvc.ActionResult actionResult) [0x00000] in <filename unknown>:0 at System.Web.Mvc.ControllerActionInvoker+<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19 () [0x00000] in <filename unknown>:0 at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter (IResultFilter filter, System.Web.Mvc.ResultExecutingContext preContext, System.Func`1
Running Mono 3.2.0 with .NET MVC 4
- Android浏览器跨域数据窃取和Intent Scheme攻击
- 关于React Native项目在android上UI性能调试实践
- 一文读懂如何用 Python 实现6种排序算法
- 三星KNOX远程静默安装漏洞深入分析报告
- 技术分享:MSSQL注入xp_cmdshell
- 通过5个简单序列预测实例学习LSTM递归神经网络
- Google发现Windows 8.1 0day漏洞并公布漏洞验证程序(PoC)
- 携程React Native实践
- 数据分析告诉你:Php最不安全,Nginx比Apache安全
- 用python抓取摩拜单车API数据并做可视化分析(源码)
- 用Pandas在Python中可视化机器学习数据
- Intent 属性详解(下)
- 把复杂json解析成javabean思路:思路:
- Python数据科学计算库的安装和numpy简单
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Spring JDBC 框架,我的学习笔记
- 磁盘扩容
- 如何在MySQL中创建存储过程
- 磁盘扩容
- PyCharm安装疯狂打字机插件
- Java Lombok 常用注解
- Python 基础 安装 简单的输入输出 运行一个py程序
- Python 基础 数据类型 变量常量
- Java 快速排序 关于起始方向的选择问题 为什么一定要从右边开始
- Java 使用异或进行数组元素交换时的坑 返回0的原因
- Spring BindingResult获取不到结果可能的原因之一 参数顺序 没有紧挨着校验参数
- 残差收缩网络:一种深度学习故障诊断算法
- Solr学习笔记 - 关于近实时搜索
- Solr学习笔记 - 关于timeAllowed
- Solr学习笔记 - 关于cache