Guy*_*der 4 f# compiler-warnings suppress-warnings
我在F#解决方案中有两个项目.
1.主要项目,[EntryPoint]并设置为StarUp项目.
2.支持,第二个项目,拥有一组支持模块.即它们只被调用,从不发起任何事情,也不作为入口点,也不是StartUp项目.
对于支持项目中的最后一个模块,在Visual Studio中进行编译
警告FS0988:程序主模块为空; 它运行时什么都不会发生
虽然使用编译器选项nowarn内联,因为#nowarn "988"在模块中导致警告确实抑制了消息我宁愿添加类似虚拟函数的东西,其中包含解决问题的注释.
如何制作这样的虚拟函数来解决警告?
编辑
杰克是正确的,我的支持项目设置为Console Application而不是Class Library.更改以Class Library解决警告.do ()对于另一个案例,了解它也很好.
编辑
虽然我将支持项目设置为a似乎很奇怪,但Console Application我最近发现,由于某种原因,当我对项目中的代码进行更改时,某些内容将输出类型更改Class Library为Console Application.我怀疑它与F#PowerPack和它的构建规则有关,但这只是猜测.
您是在构建支持项目Library还是作为Console Application?(这是通过项目属性页面设置的.)
如果要将其构建为库,则可能需要do()在项目的最后一个文件的末尾添加a .这对于使F#编译器在一些特定场景中感到满意是必要的,例如当您创建仅包含程序集级属性的模块时(因为它们应用于程序集,模块对编译器显示为"空").
您可以在我的代码中看到一个示例:https: //github.com/jack-pappas/FSharp.Compatibility/blob/master/FSharp.Compatibility.OCaml/AssemblyInfo.fs