1.無法加載文件或程序集CefSharp.Core.dll”或它的一個依賴。指定的模塊找不到。
++
.
2.我如何包括在目標應用程序的Visual Studio的C ++ 2012/2013再發行?
CefSharp需要VC ++運行時。你必須安裝/包括這與你的應用程序的幾個選項:
你可以在你希望運行CefSharp基於應用程序的每臺計算機上安裝VC ++。一旦安裝更新就可以通過Windows Update進行管理。
您可以設置在Visual Studio C ++再分發作爲安裝程序的先決條件(即的ClickOnce或WiX的工具集)
通過複製到您的項目在此文件夾(只有當你安裝了Visual Studio中的匹配版本存在)的內容:
#對於VC ++ 2012(86) C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\redist\x86\Microsoft.VC110.CRT #對於VC ++ 2012(64) C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\redist\x64\Microsoft.VC110.CRT #對於VC ++ 2013(86) C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x86\Microsoft.VC120.CRT #對於VC ++ 2013(64) C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x64\Microsoft.VC120.CRT 隨着第三方法,你將不再需要爲前提的Visual C ++運行時2012/2013文件安裝到客戶端。就目前的計劃是留在VC2013官方CefSharp二進制版本。可行時,我們可能會切換到VC2015。如果你從源代碼構建自己的你部署的過程中必須與您構建環境。對於官方的NuGet版本的詳細信息請參見發佈分支表。
欲瞭解更多信息,請參閱重新分發的Visual C ++文件MSDN上。要下載,請訪問Visual Studio的C ++ 2012/2013再發行
注意從源代碼構建確保你在Release模式部署到沒有安裝Visual Studio機時編譯。 VISUAL C ++使用一套不同的調試和發佈版本的運行時庫。調試運行時庫僅安裝有Visual Studio中。如果你使用他們已經建在釋放模式官方的NuGet軟件包,您可以隨後建立在調試模式下您的應用程序,因爲只有在Visual C ++項目需要在Release模式下進行編譯。
3.在哪裏CefSharp3二進制文件?
CefSharp3被釋放的NuGet包。 請參閱https://github.com/cefsharp/CefSharp/blob/master/README.md
對於使用的NuGet包一個很簡單的例子項目,請參閱CefSharp.MinimalExample庫。克隆它/如果你想要的CefSharp3如何使用一個非常小的和簡單的例子下載源。
請注意:目標平臺
使用這些包時,您必須選擇x86或x64。如果選擇值爲anycpu的神奇的NuGet不會目前的工作。見步驟來這裏配置的解決方案。
4.你是如何處理在C#中Javascript事件?
public class BoundObject
{
public void OnFrameLoadEnd (object sender, FrameLoadEndEventArgs e)
{
if(e.Frame.IsMain)
{
browser.ExecuteScriptAsync(@"
document.body.onmouseup = function()
{
bound.onSelected(window.getSelection().toString());
}");
}
}
public void OnSelected(string selected)
{
MessageBox.Show("The user selected some text [" + selected + "]");
}
}
browser.RegisterJsObject("bound", obj);
browser.FrameLoadEnd += obj.OnFrameLoadEnd ;