列出所有可用的 .NET 程序集

2024-03-27

列出所有可用的 .NET 2.0 程序集的最佳方法是什么?

所需列表的一个示例是当您在 .NET 选项卡中执行“添加引用...”时 MS Visual Studio 显示的列表。

我读过 Visual studio 使用它自己的目录配置,GAC 和 .NET 安装。我如何以计算机便携方式知道该目录在哪里(另一台计算机可能在 D: 驱动器中安装了 Windows)有什么想法吗?

从列出的信息来看,必须可以对其进行 Assembly.Loadxxxx() 。

注意:它应该以编程方式完成,而不是使用 gacutil(除非它提供 C# API)。所有这一切的目的是创建一个自定义动态脚本编辑器,以便您了解获取此信息的必要性。


首先,参考程序集和 GAC 中的程序集之间存在重要区别。要编译代码,您需要一个参考程序集。要运行代码,您需要与 .exe 位于同一文件夹中的程序集副本或 GAC 中的程序集。

通常,当您安装 .NET 应用程序时,其安装程序将复制它在 GAC 中使用的程序集。这些组件是not可用作参考程序集,您无法找到它存储在哪个文件夹中,因此您无法告诉编译器其 /reference 命令行参数的正确值。嗯,你可以找到答案,但微软试图通过 shell 插件让它尽可能地困难。

当您安装允许您在自己的程序中使用其程序集的 .NET 应用程序时,会发生一些不同的情况。就像.NET框架一样。它将为每个程序集制作两份副本。一个位于 GAC,另一个位于“众所周知”的位置。对于 .NET 框架,这些众所周知的位置是 c:\windows\microsoft.net\ 和 c:\program files\reference assembly。 .NET 3.0 及更高版本开始使用后一个文件夹。

Visual Studio 的“添加引用”对话框使用列出这些众所周知位置的注册表项。有几个,但最重要的是HKLM\Software\Microsoft\.NETFramework\AssemblyFolders.

长话短说:您可以使用该注册表项生成与“添加引用”对话框生成的列表相同的列表。但它并不是 100% 可靠,您可能会错过某些产品在其他地方复制的参考程序集。您必须使用 VS 中的“浏览”选项卡来添加对这些内容的引用。并搜索整个磁盘以找到它们。

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

列出所有可用的 .NET 程序集 的相关文章

  • 为 COM 互操作注册、gac 程序集时顺序重要吗?

    在为 COM Interop 注册 NET 程序集时 我做了两件事 目前按以下顺序进行 regasm tlb MyDll tlb Mydll dll gacutil i Mydll dll I use regasm为 COM 注册类型库并g
  • 具有 ItemsControl 嵌入网格的 SharedGridSize 组

    我正在尝试使用以下方法将多个网格嵌入到另一个网格中ItemsControl并使所有子网格共享相同的行高
  • 如何编辑 .csproj 文件

    当我使用 NET Framework 4 0 MSBUILD EXE 文件编译 csproj 文件时 出现错误 在 website01 csproj 的当前上下文中找不到 lable01 实际上 我需要添加每个 ASP NET 页面及其代码
  • #region 描述编译到.net 中的.exe 中?

    region endregion 指令 描述 是否编译到 NET 中的 EXE 中 我知道注释不是 但我经常在一个区域内对代码组进行分块并给出有用的描述 我想确保这些描述在我编译的代码中不可见 我不是在寻找混淆信息 不过 谢谢 不 他们不是
  • 如何在 VS 2012 中获取水晶报表?

    我对 VS 2012 有疑问 即我想创建一个报告 例如特定学生的结果 我搜索了很多然后我知道我必须安装SAP Crystal Report 并且我已经这样做了 但工具箱中仍然没有水晶报表 只有两个项目 名为 报表 报表向导 有人可以帮我弄这
  • 为什么连接没有在我的 iSeries/ASP.NET MVC 4 应用程序中重用?

    我们正在 Windows 2008 服务器场上运行 MVC 4 Web 应用程序 我们一直在尝试将服务器场升级到 Windows 2008 R2 64 位服务器 但在 iSeries 运行 V7R1 上遇到了连接池问题 我们经常调用 DB2
  • 有没有办法以编程方式最小化窗口

    我正在做的是我有一个全屏表单 没有标题栏 因此缺少右上角的最小化 最大化 关闭按钮 我想用键盘快捷键和上下文菜单项替换该功能 但我似乎找不到触发事件来最小化表单 private void Form1 KeyPress object send
  • nUnit Assert.That(method,Throws.Exception) 不捕获异常

    有人可以告诉我为什么这个检查异常的单元测试失败了 显然我真正的测试是检查其他代码 但我使用 Int32 Parse 来显示问题 Test public void MyTest Assert That Int32 Parse abc Thro
  • 如何在 C# 中获取包含表情符号的字符串的正确长度

    The 英语国旗表情符号 https emojipedia org flag for england 由 14 个字节的数据组成 组合后将呈现一个字符 如果我有如下所示的代码 var test ud83c udff4 udb40 udc67
  • 降低 Task.Factory.StartNew 线程的优先级

    像下面这样的代码将启动一个新线程来完成这项工作 有什么方法可以控制该线程的优先级吗 Task Factory StartNew gt everything here will be executed in a new thread I wa
  • 将日期时间转换为时间跨度

    我想转换一个DateTime实例化为TimeSpan举例来说 可能吗 我环顾四周 但找不到我想要的东西 我只找到了时差 更具体地说 我想转换DateTime实例以毫秒为单位 然后将其保存到IsolatedStorage 中 您可以只使用日期
  • App.config 连接字符串相对路径

    我需要在 app config 中设置 sqlite 连接字符串 我想设置相对于调试 发布文件夹的路径 数据库文件将复制到这些文件夹
  • 如何在vs2008中使用C#使用卷影复制

    我想制作一个使用卷影复制服务进行备份 恢复的 C 应用程序 如何从 C 访问 VSS API 查看AlphaVSS https github com alphaleonis AlphaVSS 我相信这正是医生所吩咐的
  • 调用 Word.Documents.Add 后 WinWord.exe 不会退出 - Word .NET Interop

    我遇到了一个经典场景 即在 NET 中创建 Word COM 对象 通过 Microsoft Office Interop Word 程序集 时 WinWord 进程不会退出 即使我正确关闭和释放物体 http www xtremevbta
  • 在 C# 中将字符串转换为类型[重复]

    这个问题在这里已经有答案了 如果我收到一个包含类名称的字符串 并且我想将该字符串转换为真实类型 字符串中的类型 我该怎么做 I tried Type GetType System Int32 例如 它似乎有效 但是当我尝试使用自己的对象时
  • Windows XP 中“附带”了什么 .NET 框架

    你能告诉我Windows XP系统上默认安装的 NET框架是什么吗 因为我想编写一个不需要安装任何其他东西的 C 应用程序 如果没有 有什么办法不强迫用户下载 net框架 例如3 5 而是安装它 Windows XP 没有附带任何版本的 N
  • C# 锁定传递给方法的引用 - 不好的做法?

    我有一个类似的方法 public static void DoSomething string param1 string param2 SomeObject o lock o o Things Add param1 o Update et
  • 获取当前 ClickOnce 的应用程序发布者名称?

    是否可以读取当前运行的 ClickOnce 应用程序的发布者名称 您在Project Properties gt Publish gt Options gt Publisher name在 Visual Studio 中 我需要它的原因是运
  • DataGridView 的替代品有哪些? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们希望在 Winforms 应用程序中替换 DataGridView 我们应该评估哪些替代方案 商业或
  • 自 2012 年 6 月升级 SDK 1.7 以来,Azure 部署不断回收

    我有一个之前运行成功的部署 从那时起 我已升级到 2012 年 6 月的 SDK 当我部署时 它会不断回收 如果我通过远程桌面进入实例 我可以手动打开应用程序并且它会运行 没有黄屏死机 因此必须有一些有关部署的信息 在事件查看器中我看到错误

随机推荐

  • 通过 XML 任务与 SSIS 进行数据转换

    我使用了简单的 Web 服务来添加数字 并将结果返回到变量中 格式如下
  • 使用 Malloc 在 C 中定义结构

    我问了一个早些时候提问 https stackoverflow com questions 2177391 allocating memory for a structure in c关于使用 malloc 定义结构 这是大多数人给我的答案
  • 如何在 ASP.NET MVC 项目中指定默认应用程序池?

    在我的 ASP NET MVC 项目中 我添加了一个parameters xml 文件 如下所示
  • momentjs 中两个时间之间的小时差(HH:MM:SS a)

    我有两次没有约会 var startTime 12 16 59 am var endTime 06 12 07 pm 我想通过使用来显示上述时间之间的总小时数moment js 如果不可能在moment js那么请让我知道使用javascr
  • DataGridViewCell 在更改焦点之前不会更新

    我的 DataGridView 有这个事件 当按下删除键时 它应该将 CurrentCell Value 变为 null 实际上 它确实有效 但在我更改选定 聚焦的单元格之前 该值不会改变 如何修改才能立即更新 这是我的代码 private
  • 无法在 C# 中运行禁用邮箱 Powershell

    我正在尝试用 C 重现 Powershell 的以下工作块 我们正在连接 Exchange2010 实例 ExURI http ExchangeUrl PowerShell Session New PSSession Configurati
  • 更改 onclick 事件,JavaScript 不起作用

    我有这个 function tp visible action if action 1 document getElementById tp style display block document getElementById tp ac
  • 按点击付费断点

    如何在 PPC 上 具体来说 在 OS X 上 实现断点 例如 在 x86 上 通常使用 INT 3 指令 0xCC 完成 对于 ppc 是否有与此类似的指令 或者还有其他设置 实施的方式吗 使用 gdb 和一个十六进制转储自身的函数 我得
  • 返回 Activity 而不重新创建(不调用 onCreate())

    我想问类似的问题 返回上一屏幕而不创建新实例 https stackoverflow com questions 11715848 go back to previous screen without creating new instan
  • 如何在 Rails 的 ERB 模板中使用 `<%=` 来修剪最后出现在 `pre` 元素中的前导空白?

    据我在这里研究 这不是一个重复的问题 修剪空格 通常是尾随换行符 正在讨论 但不适合 结果是 HTML 输出为 p strong Code strong p pre class highlight github span class kt
  • 使用 GAS 获取相当于持续时间的数字

    我有一个具有持续时间类型值的单元格 我已将值设置为 00 10 00 即 10 分钟 当我将单元格的格式更改为数字时 它将显示 0 01 如何以编程方式使用应用程序脚本获得与使用应用程序脚本代码相同的十进制等效值 00 10 00 是 0
  • HQL:按可空属性的属性排序

    假设有两个表 A a id b id and B b id c 我需要执行表单的 HQL 查询 From A a ORDER BY a b c while b在类中可以为空A 但是 该查询仅返回以下实例A其中有非空b财产 发生这种情况是因为
  • GC过多时如何更快OOM? [复制]

    这个问题在这里已经有答案了 有时 我的 JVM 会耗尽内存 但我可以从中恢复 或 heapDumpOnOOM 和调试 的 OOMing 它往往会在 GC 中颠簸数小时 然后抛出内存不足 这本质上与 未回答的 问题相同 如何配置 Java G
  • 计算 Laravel 中的坐标距离

    我的模型中有一个创建别名的范围 我需要在其上执行一个 where 我知道 MySql 不允许这样做 标准 SQL 不允许您在 WHERE 中引用列别名 条款 施加此限制是因为当 WHERE 代码为 执行后 列值可能尚未确定 但是 我想知道
  • 创建数组并在一行中将其推入其中

    以下只是一个理论上的 JavaScript 问题 我很好奇以下内容是否可以转换为单个语句 if window foo window foo window foo push bar 这段代码大家可能都写过 但是一行能完成吗 起初我以为这样的事
  • uml 与 RDF 和 OWL 的组合关系

    我是 RDF 和 OWL 本体的初学者 我正在尝试将此图转换为 OWL 语法
  • 带有 Angular 2 和 webpack 2 的单个单独的 CSS 文件?

    我有一个使用 Angular 2 和 Webpack 2 的简单应用程序 使用 sass 作为模板和 angular2 template loader 这样我就可以使用templateUrl and styleUrls而不是使用requir
  • 更改监听输入源

    我想用 AutoHotkey 更改我的显示器输入源 并且我已经部分工作了 但是 当我使用热键将显示器输入源从 pc DVI 更改为我的 xbox YPbYr 时 显示器未检测到 xbox 已打开 它显示没有源 显示器 gt 华硕 VG236
  • 适用于移动应用程序的最佳远程技术是什么?

    我有一个 java 后端 需要向在以下环境中运行的客户端公开服务 J2ME 视窗手机 iPhone 我正在寻找适合每个平台的最佳工具 我不会寻找一种在任何地方都适用的技术 我需要一些适合低速互联网访问的 轻型 东西 现在我正在使用 SOAP
  • 列出所有可用的 .NET 程序集

    列出所有可用的 NET 2 0 程序集的最佳方法是什么 所需列表的一个示例是当您在 NET 选项卡中执行 添加引用 时 MS Visual Studio 显示的列表 我读过 Visual studio 使用它自己的目录配置 GAC 和 NE