小编Fun*_*rst的帖子

在F#Interactive中创建新的AppDomain

我需要能够在F#interactive中创建一个新的AppDomain,以便托管多个WPF应用程序.我在编译的F#应用程序中获得必要的功能没有任何问题,但由于某种原因使其在F#interactive中工作似乎不可能.

这是最简单的案例: -

#r "PresentationCore.dll"
#r "PresentationFramework.dll"
#r "System.Xaml.dll"
#r "WindowsBase.dll"

open System    
open System.Threading
open System.Windows

type myClass() = 
    let domain = AppDomain.CreateDomain("another domain")

    //this function starts a WPF app
    let funct() =                
        let WPFStart() =
            let app = Application()
            let win = Window()            
            app.Run(win) |> ignore
        let thread = Thread WPFStart
        thread.IsBackground <- true
        thread.SetApartmentState ApartmentState.STA
        thread.Start()

    do CrossAppDomainDelegate(funct) |> domain.DoCallBack

myClass();;
Run Code Online (Sandbox Code Playgroud)

我总是回过头来做些什么

System.Runtime.Serialization.SerializationException: Type is not resolved 
for member 'FSI_0002+-ctor@24,FSI-ASSEMBLY, Version=0.0.0.0, 
Culture=neutral, PublicKeyToken=null'.
at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
at …
Run Code Online (Sandbox Code Playgroud)

.net wpf f# f#-interactive

7
推荐指数
1
解决办法
151
查看次数

标签 统计

.net ×1

f# ×1

f#-interactive ×1

wpf ×1