首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FsXaml可以在F#解释脚本中使用吗?

FsXaml可以在F#解释脚本中使用吗?
EN

Stack Overflow用户
提问于 2017-01-30 22:29:34
回答 1查看 192关注 0票数 7

我刚刚将其中一个FsXaml演示程序转换为一个解释的F#脚本,这样我就可以对它进行实验并学习。它无法运行,解释器给了我以下错误消息:

System.NotSupportedException:在动态程序集中不支持被调用的成员。 在System.Reflection.Emit.InternalAssemblyBuilder.GetManifestResourceStream(String的名字) 在FsXaml.InjectXaml.from(字符串文件,对象根) 在FsXaml.App.InitializeComponent() at FsXaml.App..ctor() 在C:\Users\bobmc\OneDrive\FSharp\Learning\WPFExamples\FsXaml\demos\WpfSimpleMvvmApplication\WPFApp.fsx:line 104号的FSI_0002.maina 在C:\Users\bobmc\OneDrive\FSharp\Learning\WPFExamples\FsXaml\demos\WpfSimpleMvvmApplication\WPFApp.fsx:line 109中的.$FSI_0002.main@()

我可以使用F#解释器和FsXaml吗?感谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-02 18:35:46

不幸的是,WPF和脚本不能很好地结合在一起。

异常发生在WPF运行时本身- FsXaml.InjectXaml使用XamlObjectWriter来填充XAML文件中的内容。如果使用动态程序集(如FSI),则此类型无法工作,不幸的是,这意味着FsXaml很可能永远无法从FSI中工作。

尽管如此,即使有办法解决这个问题,它的用处也是非常有限的。WPF还有一些限制,使得它不能很好地处理脚本场景,例如“在给定的AppDomain中只能创建一个应用程序”。那个使它如此关闭“主”(第一)窗口使它,所以你永远不能打开另一个。因此,我还没有优先考虑如何在FSI中实现这一目标。

如果有人知道如何使FsXaml在FSI的上下文中发挥得更好,我很乐意接受贡献,但在这一点上,我不认为有一个很好的解决方案的使用场景。

编辑: FsXaml 3.1.6现在包含了功能,以使这更容易。如果不关闭主窗口,或者使用对话框,它就能正常工作。有一个演示应用程序/脚本说明了这一点。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41946555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档