首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使Awesomium在linux下运行在mono上

使Awesomium在linux下运行在mono上
EN

Stack Overflow用户
提问于 2015-04-13 15:30:59
回答 1查看 1.4K关注 0票数 2

我试图在C#中开发一个程序,它只使用awesomium (控制台),运行在linux(mono)上。

我下载并安装了最新的Awesomium 1.7.5。

代码语言:javascript
复制
# ldconfig -p | grep libawe
libawesomium-1-7.so.5 (libc6,x86-64) => /usr/lib/libawesomium-1-7.so.5

在我的解决方案中,我包含了对Awesomium.Mono.dll的引用。在Awesomium.Mono.dll.config文件中,我做了一个dllmap来为linux重定向。也许这不是必需的?

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<!-- Fix the target below to target the Awesomium native library -->
<dllmap dll="awesomium" target="libawesomium-1-7.so.5" os="linux"/>
<dllmap dll="awesomium" target="@executable_path/../Frameworks/Awesomium.framework/Versions/A/Awesomium" os="osx"/>
</configuration>

我目前正在收到一个错误,说明找不到dll

代码语言:javascript
复制
Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for Awesomium.Core.WebCore ---> System.TypeInitializationException: An exception was thrown by the type initializer for Awesomium.Core.NativeMethods ---> System.TypeInitializationException: An exception was thrown by the type initializer for AweExceptionHelper ---> System.DllNotFoundException: libawesomium-1-7.so.5
  at (wrapper managed-to-native) Awesomium.Core.NativeMethods/AweExceptionHelper:RegisterExceptionCallbacks_awesomium (Awesomium.Core.NativeMethods/AweExceptionHelper/ExceptionDelegate,Awesomium.Core.NativeMethods/AweExceptionHelper/ExceptionDelegate,Awesomium.Core.NativeMethods/AweExceptionHelper/ExceptionDelegate,Awesomium.Core.NativeMethods/AweExceptionHelper/ExceptionDelegate,Awesomium.Core.NativeMethods/AweExceptionHelper/ExceptionDelegate,Awesomium.Core.NativeMethods/AweExceptionHelper/ExceptionDelegate,Awesomium.Core.NativeMethods/AweExceptionHelper/ExceptionDelegate,Awesomium.Core.NativeMethods/AweExceptionHelper/ExceptionDelegate,Awesomium.Core.NativeMethods/AweExceptionHelper/ExceptionDelegate,Awesomium.Core.NativeMethods/AweExceptionHelper/ExceptionDelegate,Awesomium.Core.NativeMethods/AweExceptionHelper/ExceptionDelegate)

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2015-11-05 16:36:25

这就是我如何让Awesomium在Linux上的Mono上工作:

  1. 下载并安装(在Windows上) Awesomium (awesomium_1_7_5_1_sdk_win)。
  2. 查找Awesomium.Mono.dll (对我来说是C:\Program Files\Awesomium Technologies LLC\Awesomium SDK\1.7.5.1\wrappers\Awesomium.NET\Assemblies),复制到Linux到Mono项目中,确保检查Local Copy
  3. 下载Awesomium (awesomium_1_7_5_sdk_linux64)并解压缩。
  4. bin的内容复制到项目的操作目录中(例如,bin/Debug)。
  5. libawesomium-1-7.so.5.0重命名为libawesomium-1-7.so.0.0

示例代码(从文档中修复的打字):

代码语言:javascript
复制
using System;
using Awesomium.Core;

class MainClass
{
    public static void Main (string[] args)
    {
        using (var webView = WebCore.CreateWebView( 800, 600 ) )
        {
            webView.Source = new Uri( "http://www.google.com" );

            webView.LoadingFrameComplete += ( s, e ) =>
            {
                if (!e.IsMainFrame)
                    return;

                BitmapSurface surface = (BitmapSurface)webView.Surface;
                surface.SaveToPNG ("result.png", true);

                WebCore.Shutdown ();
            };
        }

        WebCore.Run();
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29609266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档