【发布时间】:2016-08-17 04:46:12
【问题描述】:
我正在尝试使用 ChakraBridge 在我的应用程序中加载 javascript,并按照以下块中给出的步骤进行操作
Using JavaScript Framework in UWP
也在 GitHub 上 JsBridge
我在我的项目中添加了 ChakraBridge.winmd 作为参考,当调试模式为脚本时它工作得非常好。当我将其更改为仅托管时,它给了我例外,并且对于发布模式也是如此。
有人可以建议是什么问题吗?
这是一个例子。我正在尝试使用 ChakraBridge API 在我的项目中的 DatePicker 中分配默认日期
if (!string.IsNullOrEmpty(javascriptFunction))
{
try
{
ChakraHost dateHost = new ChakraHost();
string dateValue = dateHost.RunScript(javascriptFunction);
var finalDate = DateTime.ParseExact(dateValue, "dd-MM-yyyy", CultureInfo.InvariantCulture);
datePicker.Date = finalDate.Date;
}
catch(Exception ex)
{
Debug.WriteLine(ex.Message);
}
}
javascript函数是
function executeScript(){var now = new Date(new Date().getTime() - (7*24*60*60*1000)); return ('0'+now.getDate()).substr(-2)+'-'+('0'+(now.getMonth()+1)).substr(-2)+'-'+now.getFullYear();} executeScript();
StackTrace 我得到了
at ChakraBridge.ChakraHost..ctor()
at MCS.MCSDynamicViewBuilder.<GenerateDynamicControlforMobile>d__10.MoveNext()
此外,当我在笔记本电脑中调试时,它工作正常,当我在移动设备或移动模拟器中调试时,它给了我这个异常。是不是因为我的笔记本电脑上有 dist 文件夹,我从那里引用 ChakraBridge.winmd?
【问题讨论】:
-
我无法重现您的问题。你能分享一下minimal reproducible example吗?
-
@JayZuo-MSFT 我添加了示例。创建一个新项目。参考
ChakraBridge.winmd作为参考并尝试使用调试模式作为Managed Only。这适用于应用程序进程的调试是 Script * 但不适用于 *Managed Only 和 Release 模式。 -
如果它在脚本模式调试中工作,那么你知道它不是一个严重的异常。确保正确配置调试器,使用 Debug > Windows > Exception Settings 并重置复选框(如果勾选)。如果您仍然遇到问题,请 do 发布异常的堆栈跟踪。
-
在异常设置中,你要我取消选中
JavaScript Runtime Exceptions? -
我试过你的代码,它也很好用。你有什么例外?正如汉斯所说,您能否发布异常的堆栈跟踪。
标签: c# uwp windows-10-universal chakra