在Windows 10通用应用程序中调用JavaScript的C#组件

6
我正在尝试在我的Windows 10通用应用程序(JavaScript)中使用Windows Runtime组件(C#)。我发现了如何在Windows 8.x商店应用程序中实现的方法:https://msdn.microsoft.com/en-us/library/hh779077.aspx,但是这个解决方案在Windows 10通用应用程序中无法工作。它抛出异常,指出JavaScript中没有注册该类。
WRC代码:
namespace SampleComponent
{
    public sealed class Example
    {
        public static string GetAnswer() 
        { 
            return "The answer is 42."; 
        }

        public int SampleProperty { get; set; }
    }
}

在JS中:
 document.getElementById('output').innerHTML =
        SampleComponent.Example.getAnswer();

你能发布一些从JavaScript调用WRC的代码吗? - Sorskoot
@Sorskoot 我尝试使用MSDN示例中的代码来进行Windows 8.x WRC (https://msdn.microsoft.com/en-us/library/hh779077.aspx#DiveRightIn)。已添加上方的代码。 - KingGary
2个回答

1

经过一些研究,我发现在使用Any CPU模式构建时会出现这个问题。对于x86/x64,它可以正常工作。目前这个解决方案对我来说已经足够了。如果我找到了如何在其他平台上运行它的方法,我会在这里发布更多信息。


1
默认情况下,如果您使用XAML/C#编写的Windows 10应用程序或使用C#编写的WinRT组件编写的HTML/JS应用程序,则无法使用任何CPU模式,因为存在“.Net native”问题。您需要针对正确的平台进行开发 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接