我遇到了将CefSharp(WPF)嵌入到Revit插件中的问题:
注意:在Revit之外,CEFSharp工作正常(试过MinimalExample.WPF)
答案 0 :(得分:1)
对于问题的第一部分,您需要订阅AppDomain.AssemblyResolve事件并将程序指向DLL文件的位置。 另一种方法是使用Assembly.Load命令在IExternalApplication.OnStartup方法中手动加载DLL。
有关AssemblyResolve事件的更多信息,请参阅此处:https://msdn.microsoft.com/en-us/library/system.appdomain.assemblyresolve(v=vs.110).aspx
答案 1 :(得分:0)
我刚刚完成了同样的事情而且效果很好
通过Revit 2018.2中的DockableDialogs示例,我在Revit2018中有一个可停靠的CEF窗口(WPF)
SDK在此处找到:http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=2484975)
我目前正在使用CEFSharp.Wpf版本57.0.0.0
是的,你应该像这样重新映射Cef第三方:
CefSettings settings = new CefSettings();
settings.CachePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "CefSharp\\Cache");
string rootPath = FileUtility.GetAssemblyPath();
settings.BrowserSubprocessPath = Path.Combine(rootPath, "CefSharp.BrowserSubprocess.exe");
settings.LocalesDirPath = Path.Combine(rootPath, "locales");
settings.ResourcesDirPath = Path.Combine(rootPath);
Cef.EnableHighDPISupport();
//settings.CefCommandLineArgs.Add("disable-gpu", "1");
Cef.Initialize(settings, performDependencyCheck: true, browserProcessHandler: null);
别忘了打电话给Cef.Shutdown();最后还