如何解决“程序主模块为空:运行时不会发生任何事情”

2024-05-03

我在 F# 解决方案中有两个项目。
1.主要项目有[EntryPoint] http://msdn.microsoft.com/en-us/library/dd402151.aspx并设置为启动项目。
2. support,第二个项目,拥有一组支持模块。 IE。它们只是被调用,从不启动任何东西,也不会作为入口点,启动项目也不是。

对于支持项目中的最后一个模块,在 Visual Studio 中编译给出

警告 FS0988:程序主模块为空;什么都不会发生 当它运行时

使用时编译器选项 nowarn http://msdn.microsoft.com/en-us/library/dd233171.aspx内联为#nowarn "988"在导致警告的模块中确实会抑制该消息,我宁愿添加诸如虚拟函数之类的内容,并带有解决问题的注释。

如何制作这样一个虚拟函数来解决警告?

EDIT

杰克是正确的,因为我的支持项目被设置为Console Application代替Class Library。更改为Class Library解决了警告。很高兴了解do ()对于另一种情况。

EDIT

虽然我将支持项目设置为Console Application,我最近发现,由于某种原因,当我对项目中的代码进行更改时,某些内容将输出类型从Class Library to Console Application。我怀疑这与 F# PowerPack 及其构建规则有关,但这只是猜测。


您是否将支持项目构建为Library或作为Console Application? (这是通过项目属性页面设置的。)

如果您将其构建为库,那么您可能需要添加do()在项目中最后一个文件的末尾。这对于使 F# 编译器在某些特定场景中满意是必要的,例如当您创建仅包含程序集级属性的模块时(因为它们应用于程序集,所以该模块对编译器来说显示为“空”)。

您可以在此处查看我的代码中的示例:https://github.com/jack-pappas/FSharp.Compatibility/blob/master/FSharp.Compatibility.OCaml/AssemblyInfo.fs https://github.com/jack-pappas/FSharp.Compatibility/blob/master/FSharp.Compatibility.OCaml/AssemblyInfo.fs

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决“程序主模块为空:运行时不会发生任何事情” 的相关文章

  • 自定义编译器警告

    在 Net 中使用 ObsoleteAtribute 时 它 会向您发出编译器警告 告诉您该对象 方法 属性已过时 应使用其他内容 我目前正在从事一个需要大量重构前员工代码的项目 我想编写一个自定义属性 可用于标记方法或属性 这些方法或属性
  • 如何在MVVM中实现appSettings

    我正在尝试摆脱我使用的警告appSettings在 WPF 项目中 应用程序配置
  • F# 编码练习

    我一直在 Visual Studio 2010 中涉足 F 我是一名在 C 和 Java 等面向对象语言方面拥有更多代码 架构设计经验的开发人员 为了扩展我的技能并帮助做出更好的决策 我正在尝试使用不同的语言来做不同的事情 特别是掌握使用函
  • F# 类型提供程序与 Lisp 宏

    我一直在阅读有关 F 3 0 类型提供程序的内容 例如here http msdn microsoft com en us library hh156509 aspx 并且它们似乎基于一种编译时代码生成 在这方面我想知道它们与 Lisp 宏
  • 从 C# 调用高阶 F# 函数

    给定 F 高阶函数 在参数中采用函数 let ApplyOn2 f int gt int f 2 和 C 函数 public static int Increment int a return a 我怎么打电话ApplyOn2 with I
  • F# nameof 运算符不是一等函数

    我正在使用 F 4 7
  • f951 错误:无法识别的命令行选项

    我在linux上 正在编译以下内容 mpif90 shared source F90 object1 o object2 o L some path Qoption link rpath some path I some path lhdf
  • F# 中的数组初始化

    如何根据给定的记录类型在 F 中创建和初始化数组 假设我想创建一个包含 100 个 record1 记录的数组 e g type record1 value1 string value2 string let myArray Array i
  • F# 尝试处理未处理的异常

    在下面的代码中 我想读取一个文件并返回所有行 如果存在 IO 错误 我希望程序退出并将错误消息打印到控制台 但程序仍然遇到未处理的异常 对此的最佳实践是什么 我想我不需要Some None因为无论如何我都希望程序在错误时退出 谢谢 let
  • 使用 leftOuterJoin,不需要 .DefaultIfEmpty()

    的文档leftOuterJoin MSDN 上的查询表达式 http msdn microsoft com en us library hh225374 aspx通过样本反复暗示 当使用leftOuterJoin on into 你仍然必须
  • g++ 对于看似不相关的变量“警告:迭代...调用未定义的行为”

    考虑以下代码strange cpp include
  • Visual Studio 2010 (C++):暂时抑制 C4706 警告

    当您在 Visual Studio 2010 中编译以下 C 源文件并启用警告级别 W4 时 include
  • obj[] 和 string[] 作为参数

    我在用Microsoft FSharp Reflection FSharpValue MakeUnion这需要一个Reflection UnionCaseInfo and an obj 可以为空 作为参数 但是 我得到了Type misma
  • F# 使用 while 循环

    我有一个数据读取器 我想从中返回行集合 在阅读了一天的书籍后 我无法找到在 f 中执行此操作的最佳方法 我可以在 F 中以正常的 C 方式进行操作 但这不是我使用 f 的原因 这就是我想要实现的目标 let values while rea
  • C++ Boost:此警告的原因是什么?

    我有一个带有 Boost 的简单 C 如下所示 include
  • 如何让一条记录实现一个接口?

    如果我有一个界面 type IData abstract member firstName string abstract member lastName string 如何定义符合此接口的记录类型 我尝试了如下所示 gt type Dat
  • 使用 FParsec 解析 int 或 float

    我正在尝试使用 FParsec 解析文件 该文件由 float 或 int 值组成 我面临两个问题 无法找到好的解决方案 1 Both pint32 and pfloat将成功解析相同的字符串 但给出不同的答案 例如pint32将返回3解析
  • 在构建过程中引用自身内部的记录

    我正在尝试创建一条记录 该记录在同一构造函数中使用先前定义的字段之一来计算另一个字段的值 例如 myRecordType Foo int Bar int myRecord Foo 5 Bar Array init Foo fun i gt
  • 如何明智地解释这个编译器警告?

    当我执行这段代码时question https stackoverflow com a 51056490 2411320 我收到这个警告 warning format d expects argument of type int but a
  • 如何忽略警告错误?

    我有以下 PowerShell 脚本 它获取给定 IP 地址内计算机的 NetBIOS 名称 我正在使用管道将结果转储到文本文件中 问题是 如果 IP 地址不可用 则会打印警告 这是 PowerShell 脚本 function Get C

随机推荐

  • 如何在kafka消费组中动态添加消费者

    我应该如何知道何时必须扩展消费者组中的消费者 当存在快速生产者时 消费者扩大规模的触发因素是什么 一种直接的方法是获取消费者延迟 这可以计算为提交的偏移量和开始偏移量之间的差值 如果最后 n 次计算的延迟正在增加 您可以扩大规模 反之亦然
  • 在 Objective-C 中选择性加载类

    我有模块 但没有来自两个不同的人的源代码 它们都包含相同的类 有没有办法有选择地从模块中加载类 以便重复的类不会发生冲突 是的 我知道这个替代解决方案建议加载和卸载 并且宁愿通过有选择地加载类并完成它来完成 解决 Objective C 命
  • C# 如何使用反射调用字段初始值设定项?

    假设我有这个 C 课程 public class MyClass int a int b new int 6 现在假设我使用反射发现了这个类 并且在查看字段时我发现其中一个是数组类型 即 b foreach FieldInfo fieldi
  • Spark JDBC 仅返回带有列名的数据帧

    我正在尝试使用 Spark JDBC 连接到 HiveTable 代码如下 val df spark read format jdbc option driver org apache hive jdbc HiveDriver option
  • Grafana/prometheus 中没有 kafka 指标

    我成功部署了 Helm Chart普罗米修斯操作员 https github com coreos prometheus operator tree master helm prometheus operator kube 普罗米修斯 ht
  • 在 Beyond Compare 中比较 Json 文件

    如何在 Beyond Compare 中比较两个缩小的 json 文件 是否有内置的 json 文件格式 我正在寻找比较底层 json 对象的两个漂亮的打印表示 In 这个线程 https www scootersoftware com v
  • 使用 pandas 进行操作SettingWithCopyWarning

    我试着delete某些列并转换列中的某些值 df2 drop df2 columns 0 1 3 axis 1 inplace True df2 date df2 date map lambda x str x 1 df2 date df2
  • Git:设置仅获取远程?

    当我跑步时git remote v在我配置了远程的 Git 存储库之一中 我看到每个远程都具有获取和推送规范 git remote v
  • 将 lambda 函数应用于 pandas 滚动窗口系列

    我有一个函数 它接受一个数组和一个值 并返回一个值 我想将其应用到我的系列中s在滚动的基础上 所以数组始终是滚动 窗口 这是我尝试过 不成功 的一个最小示例 使用np random choice代替我真正的功能 我找到了很多查找滚动均值和其
  • 从 bazaar 转换为 git 并同步它们的正确方法

    我在 bazaar 中有一个开发存储库 我想将其转换为 git 并保持同步 我需要这个 因为我将与不了解 bazaar 的人分享我的代码 首先我需要将我的 bazaar 存储库转换为 git 我用谷歌搜索了一下 发现this http as
  • jersey.api.client.WebResource - 如何调试/记录请求标头

    我正在使用 jersey 生成 http 请求 我希望能够看到request在发送之前 用于调试目的 例如 WebResource resource client resource url resource header aa bb res
  • 如何使用MonkeyDevice.instrument?

    嗨 大家好 我正在尝试从 MonkeyRunner 脚本运行我的测试仪器之一 不幸的是我无法让它工作 我尝试使用不同的参数变量调用 MonkeyDevice instrument 但没有成功 我试过了 设备 MonkeyRunner wai
  • 与 EOF 比较时使用 int 作为字符类型

    引自 Kernighan 和 Ritchie 的 C 编程语言 第 16 页 include
  • 使用 Selenium 自动化结帐流程时出现 403

    我正在尝试使用 python 和 selenium 创建一个脚本来自动执行 bestbuy ca 的结帐过程 我一直到达最后阶段 您可以单击以查看最终订单 但当我尝试单击到最后一步时 收到以下 403 禁止消息 如网络响应中所示 是否有服务
  • 当目录中同时添加很多文件时FileSystemWatcher无法正常工作

    当许多文件同时添加到目录中时 FileSystemWatcher 无法正常工作 观察者根本找不到目录中的所有文件 仅当文件被一一放置在文件夹中时 如果大量文件同时复制到文件夹中则不会 线程的创建是问题的解决方案还是有其他方法来处理问题 Th
  • 分割如何提高埃拉托斯特尼筛法的运行时间?

    我遇到了埃拉托色尼筛的分段实现 它的运行速度比传统版本快很多倍 有人可以解释一下分段如何提高运行时间吗 请注意 我想在其中找到素数 1 b 它适用于这个想法 用于查找 10 9 之前的质数 我们首先生成 sqrt 10 9 以下的筛选素数
  • 如何使用 iText 将 HTML 转换为 PDF [重复]

    这个问题在这里已经有答案了 import java io File import java io FileOutputStream import java io OutputStream import com itextpdf text D
  • 如何在两个或多个 Servlet 之间共享变量或对象?

    我想知道是否有某种方法可以在两个或多个 Servlet 之间共享变量或对象 我的意思是某种 标准 方法 我认为这不是一个好的做法 但却是构建原型的更简单的方法 我不知道这是否取决于所使用的技术 但我会使用 Tomcat 5 5 我想共享一个
  • 使用单个共享后台线程进行 iOS 数据处理?

    我有一个应用程序 可以从网络下载大量资源 并对每个资源进行一些处理 我不希望这项工作发生在主线程上 但它非常轻量级且优先级低 因此所有这些都可以真正发生在同一个共享工作线程上 这似乎是一件好事 因为设置和拆除所有这些工作线程都需要工作 没有
  • 如何解决“程序主模块为空:运行时不会发生任何事情”

    我在 F 解决方案中有两个项目 1 主要项目有 EntryPoint http msdn microsoft com en us library dd402151 aspx并设置为启动项目 2 support 第二个项目 拥有一组支持模块