2015-01-23 27 views
6

Tôi đang cố gắng tích hợp CefSharp vào một dự án C# mà tôi đang phát triển trong Visual Studio 2010 trên Windows XP. lỗi tương tự đã được báo cáo bởi những người khác chạy Windows Server 2003.CefSharp trên Windows XP/Server 2003/VS 2010

  1. tôi thêm CefSharp.WinForms qua NuGet và nó có vẻ làm việc tuyệt vời.

  2. Tôi biên dịch và chạy ứng dụng tuy nhiên khi tôi cố gắng tải CefSharp tôi nhận được "Một thủ tục được nhập bởi 'CefSharp.Core.dll' không thể tải được."

Dưới đây là đoạn code tôi chạy:

 var settings = new CefSharp.CefSettings { 
      PackLoadingDisabled = true 
     }; 

     if (Cef.Initialize(settings)) { 
      throw new Exception("Failed to initialze CefSharp"); 
     } 

     var browser = new CefSharp.WinForms.ChromiumWebBrowser("http://www.google.com/"); 
     browser.SetBounds(0, 0, ClientSize.Width, ClientSize.Height); 
     Controls.Add(browser); 

Trên CefSharp FAQ Nó nói với tôi rằng tôi nên thực hiện một số nhiệm vụ mà tôi đã thực hiện để chạy trên Windows XP, mặc dù XP không được hỗ trợ chính thức trong câu hỏi thường gặp mà nó hoạt động.

  • Hãy chắc chắn rằng bạn đã có những gói dịch vụ mới nhất và các bản vá lỗi được áp dụng YES
  • Hãy chắc chắn rằng Visual C++ đúng phiên bản được cài đặt. YES
  • Disable GPU Acceleration (xem https://github.com/cefsharp/CefSharp/issues/627#issuecomment-64232089) KHÔNG LIÊN QUAN kể từ khi tôi có thể thậm chí không CefSettings instanciate
  • Hãy chắc chắn rằng tòa nhà của bạn trong chế độ Release. YES Cố gắng mà
  • Look trong file Debug.log trong thư mục bin của bạn (tăng khai thác gỗ verbosity có lẽ cần nhìn thấy https://github.com/cefsharp/CefSharp/blob/master/CefSharp.Example/CefExample.cs#L22) KHÔNG LIÊN QUAN kể từ khi tôi có thể thậm chí không CafSettings instanciate
  • Nâng cấp lên các trình điều khiển GPU mới nhất nếu bạn thiên đường đã không. YES

Error message that appears

Project files

Files in bin\x86\debug

+0

Bạn đã giải quyết vấn đề này chưa? – albertjan

+0

@albertjan Không may là không. Tôi quản lý để có được một phiên bản cũ của CefSharp để làm việc. Tôi vẫn còn thú vị trong một giải pháp! –

+2

Tôi đã làm :) nhưng tôi không thể làm cho nó hoạt động với các nugets. Tôi đã phải tự biên dịch nó thành .net 4. Và tôi đã chỉ định bộ công cụ nền tảng đích cho '120' cho dự án C++. (mặc dù tôi không thực sự chắc chắn rằng thực sự là nessecairy) – albertjan

Trả lời

0

Tôi nghĩ rằng có một lỗi đánh máy/từ còn thiếu trong "Hãy chắc chắn rằng Visual C++ đúng phiên bản được cài đặt."

IMHO cần đọc: "Đảm bảo phiên bản Visual C++ chính xác Redistributable được cài đặt."

Đó là một tham chiếu đến một mục Hỏi đáp: https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#Including_vcredist

+0

Tôi đồng ý và đó thực sự là cách tôi đọc yêu cầu đó. Các VC++ redistributable chính xác được cài đặt –

+1

Âm thanh như đó là thời gian để mất Dependency Walker cho một spin và so sánh với những gì bạn nhìn thấy trên một máy không XP với cùng một nhị phân. Xem https://github.com/cefsharp/CefSharp/issues/409 – jornh

0

Có một vài vấn đề tiềm năng, bạn nên xem quá:

1 - thiết lập đường dẫn trình duyệt subprocess:

var settings = new CefSettings { 
BrowserSubprocessPath = "CefSharp.BrowserSubprocess.exe" 
}; 

2 - thiết lập địa chỉ/html KHÔNG trong ctor của bạn nhưng trong sự kiện browser.IsBrowserInitialised (và chỉ sau khi kiểm tra trình duyệt được khởi tạo) Trong ngắn hạn, CEF là BIG FAT dll mất một thời gian để tải lên và khởi tạo ... Chúng tôi sẽ có điều này làm việc trong thời gian không!

+0

Thật không may tôi thậm chí không thể thực thi CefSettings mới để lỗi sớm hơn nhiều, rất có thể trong các ràng buộc GAC hoặc một cái gì đó tương tự. –

0

Vấn đề tương tự ở đây. REALLY REALLY gây phiền nhiễu. Tôi đã thử đi bộ phụ thuộc và nó không cho tôi bất kỳ thông tin liên quan nào. Tất cả các hướng dẫn đều không cung cấp thông tin liên quan. Tôi khá chắc chắn nó không thể, ít nhất là với gói nuget.

0

Tôi gặp sự cố khi giải quyết chủ đề đó.

https://groups.google.com/forum/#!searchin/cefsharp/xp/cefsharp/J5gX7OKf7Rc/EoB3h0UmfYYJ

Nếu bạn có VS2013 và một thời gian, bạn có thể thử xây dựng từ nguồn với một thay đổi nhỏ.

  • Hãy chắc chắn rằng bạn xây dựng trong chế độ Release khi triển khai để XP/2003
  • Thay đổi hai C++ dự án Platform Toolset để Visual Studio 2013 - Windows XP (v120_xp)
  • Hãy chắc chắn rằng máy tính của bạn để triển khai đã VC++ 2013 Redist cài đặt.
Các vấn đề liên quan