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}}U6{Y~IX~GAI2W~([T]NZM

在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

本文来自云栖社区合作伙伴“doNET跨平台”,了解相关信息可以关注“opendotnet”微信公众号

目录
相关文章
|
6月前
【Qt 学习笔记】使用QtCreator创建及运行项目 | 项目初始代码解释
【Qt 学习笔记】使用QtCreator创建及运行项目 | 项目初始代码解释
994 1
|
3月前
|
开发工具
如何修改Vscode查看源代码管理版本变动文件的查看方式
这篇文章介绍了如何在VSCode中通过源代码管理插件修改查看源代码版本变动文件的方式,提供了树形视图和列表视图两种查看方法,并说明了如何通过设置选项来切换查看方式,帮助用户根据自己的喜好更高效地查看和管理代码变动。
如何修改Vscode查看源代码管理版本变动文件的查看方式
|
6月前
Qt程序打包发布记录使用windeployqt工具
Qt程序打包发布记录使用windeployqt工具
|
11月前
|
小程序 Linux C语言
Linux实现进度条小程序(包含基础版本和模拟下载过程版本)(上)
Linux实现进度条小程序(包含基础版本和模拟下载过程版本)
|
6月前
|
Java Windows Spring
IDEA中报错:因为在此系统上禁止运行脚本有关详细信息,请参阅...(图文解释 亲测已解决)
IDEA中报错:因为在此系统上禁止运行脚本有关详细信息,请参阅...(图文解释 亲测已解决)
738 0
|
11月前
|
小程序 Linux C语言
Linux实现进度条小程序(包含基础版本和模拟下载过程版本)(下)
Linux实现进度条小程序(包含基础版本和模拟下载过程版本)
|
开发工具 开发者 iOS开发
​ 如何处理Xcode上传IPA文件后无法在后台架构版本中显示的问题?
1、ipa包符合要求,显示正在处理,这种就是成功上传,等待处理即可(根据包大小,一般处理几分钟到一两个钟都有可能) 2、ipa不符合要求,没有出现正在处理,或者刷新页面正在处理的版本消失 出现这种情况说明你上传的这个ipa包有问题,苹果会发送具体原因到邮箱(开发者账号就是邮箱地址,) 登录邮箱去查看反馈邮件(反馈邮件也可能在垃圾箱),修改错误重新再打包上传。
​  如何处理Xcode上传IPA文件后无法在后台架构版本中显示的问题?
|
Java 定位技术 语音技术
​如何处理Xcode上传IPA文件后无法在后台架构版本中显示的问题?
​如何处理Xcode上传IPA文件后无法在后台架构版本中显示的问题?
Java 实现批量重命名,亲测可用(精简版)
Java 实现批量重命名,亲测可用(精简版)
106 0
|
JavaScript API Windows
一个操作windows窗口的类“clsWindow”,使用非常方便!含源码 V2.2
一个操作windows窗口的类“clsWindow”,使用非常方便!含源码 V2.2
298 0
一个操作windows窗口的类“clsWindow”,使用非常方便!含源码 V2.2