尝试构建用F#编写的WPF应用程序时收到以下警告:
程序的主要模块为空:运行时不会发生任何事情
因此,我无法启动该应用程序.
我已经验证所有AssemblyInfo.fs文件的末尾都有一个"do()".我也玩过文件的顺序.
有什么建议?
UPDATE
我在项目结束时添加了一个文件.
该文件包含以下代码:
module Bootstrap
open System.Windows
[<EntryPoint>]
let main args =
System.Windows.Application.Current.Run() |> ignore;
// Return 0. This indicates success.
0
Run Code Online (Sandbox Code Playgroud)
当我尝试运行该文件时,我在Application.Current上遇到了一个空引用异常.
我的解决方案如下所示:
这是一个最小的工作示例,使用FSharp.ViewModule.Core和FsXaml.Wpf包:
MainWindow.xaml:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:local="clr-namespace:ViewModel;assembly=fsxamltest">
<Window.DataContext>
<local:MainViewModel/>
</Window.DataContext>
</Window>
Run Code Online (Sandbox Code Playgroud)
ViewModel.fs:
namespace ViewModel
open FSharp.ViewModule
type MainViewModel() as me = inherit ViewModelBase()
Run Code Online (Sandbox Code Playgroud)
App.fs:
open System
type App = FsXaml.XAML<"App.xaml">
[<STAThread;EntryPoint>]
let main _ = App().Root.Run()
Run Code Online (Sandbox Code Playgroud)
App.xaml中:
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml"/>
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请向我们展示完整代码或创建MCVE.