.NET csc 和 Mono mcs 的兼容性

2024-05-05

我知道 .NET 和 Mono 是二进制兼容的,但给定一组源代码,csc 和 mcs 会生成完全相同的 100% 相同的二进制 CLI 可执行文件吗?人们能够判断可执行文件是用 csc 还是 mcs 编译的吗?


很多东西在规范中没有完全定义,或者是特定于实现的扩展。

未完全指定的示例:

  • 类场事件的同步语义;这是明确地对 ecma 规范中的实现开放;它在 MS 规范中严格定义,但在 c# 4.0 中使用不同的版本还没有出现在正式规范 IIRC 中
  • Expression构造(来自 lambda);只是“在其他地方定义”(实际上不是)

实施扩展的示例:

  • P/Invoke
  • COM 接口处理(即如何调用new在界面上)

所以不:不能保证 csc 或 [g]mcs 之间具有相同的 IL,甚至不同版本的 csc 之间也是如此。

更重要的是:根据调试设置、是否启用优化以及定义一些编译常量(例如 DEBUG 或 TRACE),相同的编译器将生成不同的代码。

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

.NET csc 和 Mono mcs 的兼容性 的相关文章

  • 如何在 C# 中以编程方式创建柔和的颜色?

    根据所需的颜色数量均匀分布地生成它们 如果指定的计数为 8 则看起来像这样 List
  • 如何让 LinqToSql 将“索引提示”传递给 sql server?

    由于我们不能相信我们的客户会更新 sql server 中的索引统计信息等 因此我们过去不得不使用索引提示 http www sql server performance com tips hints general p1 aspx 由于我
  • 找不到 Microsoft.Office.Interop Visual Studio

    我正在开发一个使用 C 发送电子邮件的应用程序 该应用程序将能够使用邮件模板等 问题是我无法找到任何 Office Interop 引用 这意味着我无法使用 Outlook 我的计算机上安装了 Office 但我也尝试从此链接安装 PIAh
  • 如何正确转义mysql?

    我刚刚发现如果我写 select from tbl where name like foo 然后添加 foo 作为参数及其值 a 用户数据 它不会正确转义 我勒个去 它想要 a 即使我使用参数 我还是忍不住觉得我对 sql 注入持开放态度
  • c#.NET 和 sprintf 语法

    这段代码如何翻译成 C 具体来说是如何sprintf用C 实现 string output The user s logged in string loggedIn is string loggedOut isn t if TheUser
  • “你好世界!!”在 .NET 4 中生成 3500 个页面错误

    我正在运行 Windows Vista 和 Visual Studio 2010 使用 NET 4 2 GB RAM 和大约 800 MB 可用空间 我创建了一个 Windows 窗体应用程序 但没有向其中添加任何代码 只需在发布模式下编译
  • 引用的程序集自动由 Visual Studio 替换

    我有 2 个项目 一个可移植类库和一个常规单元测试项目 在可移植类库中 我使用 NuGet 来引用 Microsoft BCL 可移植包 它附带 2 个程序集 System Threading Tasks dll and System Ru
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 如何根据给定的点生成热图

    我想生成 Windows 形式的热图 我有一组点作为输入 如何以最简单的方式做到这一点 谢谢 基于此处已有的答案 此方法允许您指定Colors您希望用作最大和最小颜色 private Color HeatMapColor double va
  • 如何在C#背后的代码中动态创建数据模板并绑定TreeView分层数据

    我有一个场景 其中树视图动态更改其数据模板和数据绑定定义 我在 XAML 中创建了一个树视图 如下所示
  • 抛出并保留堆栈跟踪不符合代码分析所描述的预期

    进行代码分析给了我项目 CA2200 CA2200 重新抛出以保留堆栈详细信息 func 重新抛出捕获的异常并将其显式指定为参数 请改用不带参数的 throw 以保留最初引发异常的堆栈位置 我已经实现了该建议 但无论如何我似乎都得到了相同的
  • 如何拦截 Boo 中的方法调用?

    红宝石有method missing Python有getattr Boo 是否提供了一些可以用来拦截方法调用的东西 是的 布有IQuackFu http docs codehaus org pages viewpage action pa
  • 时间跨度格式[重复]

    这个问题在这里已经有答案了 当您将时间跨度声明为以下形式时 如何优雅地格式化时间跨度以表示 1 小时 10 分钟 TimeSpan t new TimeSpan 0 70 0 我当然知道你可以为此做一些简单的数学计算 但我有点希望 NET
  • 当操作系统显示语言为非英语时获取本地时区标识符

    奇怪的是 TimeZone CurrentTimeZone StandardName根据计算机显示语言返回本地化名称 我想要一个可以提供给的程序化标识符TimeZoneInfo在下面的代码中 TimeZoneInfo timeZoneInf
  • 为什么 new String("Hello") 在 C# 中无效?

    制作背后的逻辑 原因是什么 String s new String Hello World 在 C 中非法 错误是 string String char 的最佳重载方法匹配有一些无效参数 我对 API 文档不感兴趣 我感兴趣的是为什么这是非
  • 是否可以让 ASP.NET MVC 3 项目在 Mono 2.10 下运行?

    Mono 2 10 的发行说明建议支持 ASP NET MVC 3 0 和Razor http weblogs asp net scottgu archive 2010 07 02 introducing razor aspx using
  • 在 SQL 2005+ 中,CLR 存储过程是否优于 TSQL 存储过程?

    我目前的观点是否定的 更喜欢 Transact SQL 存储过程 因为它们是重量更轻且 可能 性能更高的选项 而 CLR 过程允许开发人员进行各种恶作剧 然而最近我需要调试一些写得非常糟糕的 TSQL 存储过程 像往常一样 我发现许多问题是
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创

随机推荐

  • Excel VBA 将工作表保存到具有唯一名称的多个文件夹

    感谢您的所有意见 下面的代码是收到的输入的最终结果 我已经对这些错误进行了评论 这些错误直接关系到保存到数组中定义的文件夹中的总体预期结果 Option Explicit Public EngName As String TeamNum A
  • kubernetes nginx ingress 无法将 HTTP 重定向到 HTTPS

    我有一个托管在 Google Cloud 平台中的网络应用程序 该应用程序位于负载均衡器后面 而负载均衡器本身位于入口后面 入口设置了 SSL 证书 并按预期接受 HTTPS 连接 但有一个问题 我无法让它将非 HTTPS 连接重定向到 H
  • 如何在 Android 中使用 KSoap 2

    我刚刚发现 ksoap2 在 Android 应用程序中使用我自己的 asp net Web 服务 我在互联网上发现了一些很棒的资源 并且我已经在 Android 应用程序中实现了我的网络服务 以下是我使用的网络服务的响应 HTTP 1 1
  • 如何在 R 中将 dd/mm/yy 转换为 yyyy-mm-dd

    我有一个向量 其日期值采用这种格式 dd mm yy 例如 27 06 16 我想将其转换为 yyyy mm dd 格式 例如 2016 06 27 以进行逻辑比较 我正在使用这个表达 as Date as character 27 06
  • 类运算符

    我在编写代码时遇到问题 void main Matrix c rows cols rows cols are int numbers c 0 0 2 the line that I m having a problem to do the
  • 有没有办法让 LaTeX 将图形放置在同一页面中作为对该图形的引用?

    我正在使用 LaTeX 和图形环境 我非常熟悉该环境的参数 htbp 而且我通常也熟悉 LaTeX 默认情况下决定将每个图形放在哪里的策略 例如 将图形放置在页面的顶部或底部 我想知道是否有一个包 宏或一些我可以提供的命令 这样如果我有一个
  • 替换javascript中的换行符

    我正在尝试替换实例 r or n我的 json 对象中的字符 br 用于在网站上显示 I tried myString myString replace r n br 但这似乎并没有什么作用 当我用其他东西替换正则表达式时 例如 a 例如
  • R:用不同的颜色将一个 ECDF 绘制在另一个 ECDF 之上

    我有几个累积经验密度函数 我想将它们绘制在彼此之上 以说明两条曲线的差异 正如所指出的在上一个问题中 https i stack imgur com V7fIq png 绘制 ECDF 的函数很简单plot Ecdf 当我阅读精美的手册页时
  • 是否有不是完整网站的卡片/目录应用程序?

    我遇到的每个解决方案似乎都是一个完整的商店 有太多的选项和太多的功能 我可以编写自己的购物车来从前端获得我需要的最小功能 我只是想减少编写复杂后端的时间 我真正想要的是提供产品目录 订单管理等后端功能 同时提供流畅一致的 API 来访问完全
  • Winforms Chart - 在折线图上绘制允许的区域

    如何在图表上绘制灰色区域 信号的允许范围 我使用 Winforms 和标准 MicrosoftSystem Windows Forms DataVisualization类 它应该是自定义范围 这意味着起始 Y 点不能仅为零 我在运行时在线
  • Silverlight - 动画贝塞尔曲线画线?

    我正在构建一个小型 Silverlight 应用程序 在我的应用程序中 我需要绘制线条 类似于附图中所示的内容 我知道绘制拱形连接线 绿色 的最佳方法是使用贝塞尔曲线 我的问题是 如何对线条的绘制进行动画处理 让它们从起始 X Y 坐标开始
  • 如何在 C# 中搜索 Excel 文件

    我正在使用的代码 private void OpenExcelFile Excel Application exlApp new Microsoft Office Interop Excel Application if exlApp nu
  • Twitter API 与 Scala 2.12 一起使用

    我正在使用 Scala 2 12 使用 SBT 构建 构建 Spark 3 0 0 流应用程序 鉴于所有用于执行此操作的库均适用于 Scala EDIT 我尝试使用库构建时得到的示例输出 object twitter is not a me
  • pymssql:在非 Windows 机器上运行时如何使用 Windows 身份验证

    python 有没有办法使用连接到 MS SQL ServerWindows 身份验证 即使不在 Windows 机器上运行 python 应用程序 我正在尝试使用 pymssql 来执行此操作 但这些示例似乎大多假设您在 Windows
  • Node.js + Firebase orderByChild 不起作用

    我试图弄清楚这个嵌套顺序 但我所做的一切都不起作用 这是我试图订购的数据结构的示例 KV Lrm 93Agm8kAuXql body Acceleration 0 0 Altitude 11 Battery 12 7 Date 2016 0
  • Java中String的字符编码是什么?

    我实际上对 Java 中字符串的编码感到困惑 我有一些问题 如果您知道答案 请帮助我 1 Java字符串在内存中的本机编码是什么 当我写作时String a Hello 将以哪种格式存储 由于 Java 是独立于机器的 我认为系统不会进行编
  • 当我的 iPAD 上安装了应用程序的“.ipa”文件时,如何获取 IOS 应用程序的捆绑包 ID

    我正在尝试在安装了我的应用程序的 iPad 上进行自动化测试 我正在使用 Appium 来自动化应用程序 它要求我输入需要测试的应用程序的捆绑 ID 有人可以帮我找到一种方法 从我的 IPAD 上安装的应用程序或从我的 iMAC 上下载的
  • 如何使用gradle和jetty在调试模式下启用热插拔?

    我正在使用 jettyRun 来运行我的简单 spring 应用程序 我想使用 Intellij 调试器启用热插拔 但看起来 jetty 没有捕获更改 On http docs codehaus org display GRADLE Gra
  • 与主机中的容器共享目录或卷

    我有一个目录 可能是后面的卷 我想与所有交互式容器共享 我知道 本机 Docker 卷存储在 var lib docker volumes and docker run v似乎是最简单的方法 但我认为Data Volume Containe
  • .NET csc 和 Mono mcs 的兼容性

    我知道 NET 和 Mono 是二进制兼容的 但给定一组源代码 csc 和 mcs 会生成完全相同的 100 相同的二进制 CLI 可执行文件吗 人们能够判断可执行文件是用 csc 还是 mcs 编译的吗 很多东西在规范中没有完全定义 或者