.net 框架如何工作

2024-02-27

伙计们,我一直在从事一个项目,我的一位老师想让我解释 .net Framework 是如何工作的。

我写道,我们可以使用 .net 框架代码在其他语言中使用它,我需要解释一下原因。你能帮助我吗?


.NET 语言(C#、VB.net 等)编译为 .NET 字节码,然后由公共语言运行时 (CLR)(一种虚拟机)进行解释。这就是简短的答案。

上面有一张漂亮的图片关于 CLR 的维基百科文章 http://en.wikipedia.org/wiki/Common_Language_Runtime这说明了源代码如何转换为本机代码。

.NET 字节码包含有关类、方法的信息以及可供基于 .NET 的其他语言使用的其他信息。

测试这一点的一个有用的实用程序是.NET反射器 http://www.red-gate.com/products/reflector/,可用于对 .NET 字节码进行逆向工程并将其转换为 C# 或 Visual Basic 代码。

有关更多详细信息,请在网上搜索 CLR,您会发现大量资源。

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

.net 框架如何工作 的相关文章

随机推荐

  • 与 eclipse 项目相比,可运行 jar 运行速度太慢

    我从 eclipse 项目中提取了一个 jar 文件 但它运行速度太慢 大约需要二十分钟才能完成 而 eclipse 项目只需要几秒钟 我使用所有三种不同的选择导出了带有库处理的可运行 jar 我还导出了包含所有库处理选项的 jar 文件
  • 如何在 Yarn 上配置应用程序驱动程序自动重启

    来自 Spark 编程指南 要自动从驱动程序故障中恢复 用于运行流应用程序的部署基础架构必须监视驱动程序进程 并在驱动程序失败时重新启动驱动程序 不同的集群管理器有不同的工具来实现这一点 火花独立 火花独立 Spark应用程序驱动程序可以提
  • 无法创建迁移以将新列添加到表中:列名称无效

    我正在尝试向现有表添加一列 它只是一个字符串列 不涉及任何类型的键 这是我试图做的唯一更改 我正在使用 powershell 调用创建迁移 dotnet ef migrations add migration name context co
  • 我们如何在 TOMCAT 中生成堆栈跟踪?

    我们如何在 TOMCAT 中生成堆栈跟踪 我真正的问题是 TOMCAT 在执行某些库中定义的函数调用后停止 使用堆栈跟踪进行调试会很容易 您可以做很多事情 我假设下面您正在谈论 Java 堆栈跟踪 在Linux中 您可以通过执行kill 3
  • 将数据保存在 cakephp 中,同时具有多个关联和所属关联

    我知道这个问题在这里被问了很多次 但我也尽力遵循所提供的解决方案 当我学习 cakephp 时 一些解决方案似乎很难在代码中实现 我正在使用 cakephp 2 5 我想做的是创建一份附有一个或多个上传内容的问题报告 以下是我迄今为止所实施
  • EarlGrey - 如何检查屏幕上是否显示多个对象

    The EarlGrey文档says https github com google EarlGrey blob master docs api md earlgrey matchers that You must narrow down
  • 是否可以同步渲染dust.js模板?

    我正在尝试为客户端 HTML JS 模板系统编写一个适配器 以便在后台使用dust js 不幸的是 API 期望渲染操作同步发生 渲染的输出应该从 render 调用返回 Dust js 是异步的 并将渲染输出传递给回调函数 有没有办法解决
  • 将 Node.JS 中的简单同步函数转换为异步函数

    我有两个函数 第一个函数执行简单的加法 第二个函数执行减法 这些函数如何在 Node JS 中异步执行 我有两个函数 第一个函数执行简单的加法 第二个函数执行减法 这些函数如何在 Node JS 中异步执行 简而言之 你不能 您无法使同步代
  • 如何使用或完成意大利面条代码?

    Q 最近 我要求测试代码 以检测错误并修复问题 我发现很多问题 但这里的主要问题是代码本身 意大利面条代码许多代码行和跟踪解决问题是如此困难 加上一些代码是从互联网复制并粘贴的不做任何修改 没有文档这段代码是可能的 表现太差了由于在每件事中
  • Java:一行中多个++-增加。第一个是哪一个?

    嘿 我有以下两行代码 result i temp i temp i 1 temp i 2 i 2 我想知道这行代码是否会执行相同的操作 result i temp i temp i temp i 我可以确定吗EVERYVM会从左到右处理该行
  • 错误:未找到:'dart:ffi' 与 flutter web

    报告前请仔细阅读 我的 flutter web 项目运行得很好 几个小时后 它开始抱怨 dart ffi 我什至没有导入 我看到了类似的问题 但没有一个是我的情况 我尝试了所有能找到的东西 但没有任何效果 以下是错误 C src flutt
  • bash 中的“else if”和“elif”有什么区别?

    我有以下 shell 脚本 它应该只是将一些 Java ear war 文件暂存到 JBoss SUCCESS false DEPLOY PATH apps jboss server default deploy E NOARGS 75 M
  • 运行第一个 Android 应用程序 - 错误消息

    当我尝试启动第一个时出现此错误你好世界安卓应用程序 我正在做基于的教程Sams 在 24 小时内自学 Android 应用程序开发 https rads stackoverflow com amzn click com 0321673352
  • Visual Studio F# 项目:文件树中不能有两个同名的文件夹吗?

    在 Visual Studio 2013 中 我的项目之一包括
  • 某些设备上的 java.lang.NoClassDefFoundError 异常

    我有一个ImageView in my Fragment 我正在设置一个onClick Listener public class TutorialFragment extends Fragment private TutorialAdap
  • 有没有办法预先提供 git rebase 和用于 rebase 的列表

    代替git rebase i并手动编辑是否有可能提供git rebase将拾取 放置 挤压列表作为文本文件 或者我是否需要将 GIT EDITOR 重定向到提供它的脚本 你需要使用GIT EDITOR or GIT SEQUENCE EDI
  • javascript 通过脚本标签定义范围?

    没遇到过这个问题 也不知道为什么 唯一的解释是范围问题 在同一页面中 我有 2 个 JS 部分 这将显示一个错误 go 未定义 where 正在工作 显然
  • 谷歌Adsense透明背景

    如何让 Google Adsense 屏蔽透明 它使用 iframe 并且驻留在其他域中 因此 jQuery 无法执行任何操作 我尝试用 css 来定位它 但这也是不可能的 有任何想法吗 我并不是想玩弄 AdSense 系统 只是我有一个背
  • MySQL使用InnoDB引擎建表时出现1005错误

    当我尝试创建具有以下定义的表时 CREATE TABLE demo id INT 11 NOT NULL auto increment x id INT 11 NOT NULL y id INT 11 NOT NULL z id INT 1
  • .net 框架如何工作

    伙计们 我一直在从事一个项目 我的一位老师想让我解释 net Framework 是如何工作的 我写道 我们可以使用 net 框架代码在其他语言中使用它 我需要解释一下原因 你能帮助我吗 NET 语言 C VB net 等 编译为 NET