问题标签 [assemblies]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
13 回答
502911 浏览

c# - 如何在 .NET 中启用程序集绑定失败日志记录 (Fusion)

如何在 .NET 中启用程序集绑定失败日志记录 (Fusion)?

0 投票
1 回答
2302 浏览

c# - 如何从 C# 中的 C++ exe 获取文件版本信息?

我需要从 C# 程序中最初用 C++ 编写的 exe 文件中获取文件版本信息。

使用 Assembly.LoadFile(fullpath).GetName().Version 会导致 BadImageFormatException。

任何人都可以帮忙吗?

干杯,

0 投票
3 回答
2387 浏览

deployment - ClickOnce - 覆盖内容文件

我有一个使用 ClickOnce 部署的解决方案。

它由一个应用程序、几个引用的程序集和一个 SQL Server Compact 数据库组成。

还有一个程序集不被主应用程序引用,而只是在运行时加载。该程序集需要与应用程序一起部署在与应用程序二进制文件相同的目录中。

我设置 Visual Studio 以在编译后将“插件”程序集复制到 UI 项目的 \bin\debug(或 \bin\release)目录。

然后我将该文件添加到 UI 项目中,而不是作为参考,而只是作为文件。我将构建操作设置为“内容”,这样它就会显示在 UI 项目的“属性/发布”对话框中。

当我第一次发布应用程序时,它就像一个魅力。但是后来我更新了插件程序集,甚至给了它一个不同的版本号并再次发布,结果发现程序集没有更新,但是第一个上传的仍然在使用。(即使在没有事先安装的干净计算机上)。

我进行了一些挖掘,发现程序集(LibComposites.dll)被复制到clickonce应用程序存储其二进制文件的目录作为它们存储数据文件的目录。

在这两种情况下,第一个发布的版本。

总而言之,我有一个引用一些程序集的应用程序:

Control.exe 引用 --> LibLLC.dll、LibDataLayer.dll、LibLLCExtenders.dll
在运行时加载 --> LibComposites.dll(也引用 LibLLC.dll)

我需要将新版本的 LibComposites.dll 部署到与每个发布的应用程序相同的目录中。

为什么该程序集的第一个发布版本仍在使用

如何强制 LibComposites.dll 被每次发布覆盖?

0 投票
3 回答
1892 浏览

wpf - 引用版本化程序集的松散 xaml

我有一个独特的发展情况,并希望得到其他人的一些意见。

我有一种情况,我需要在富客户端应用程序中加载松散的 xaml 文件。给定的松散 xaml 文件可能具有对当前未加载到内存中的程序集的引用,因此在加载松散 xaml 之前加载引用的程序集。松散的 xaml 和绑定的程序集存储在不同的后端服务器上,这些后端服务器被下载到客户端并动态加载。

松散的 xaml 和/或程序集是特定于版本的,不幸的是应用程序无法在呈现 xaml 之间关闭。v1带组装。来自服务器 A 和 xaml 的v1 。v1带组装。服务器 B 上的v2。两个程序集都使用相同的命名空间声明,因此对于任何给定的松散 xaml,“旧”程序集仍然可以与“新”程序集一起使用。

问题是,如果我加载包含对 assembly.v2 中“较新”功能的引用的 xaml.v2,我不会得到对 assembly.v2 的引用。

我显然无法从应用程序域中卸载 assembly.v1,并且我不确定是否可以引用通过编组在不同应用程序域中加载的 xaml 中的项目。

除了使用不同的命名空间引用之外的任何想法?

0 投票
2 回答
501 浏览

.net - .NET 程序集引用编译时错误

我有一个带有类 Z 的程序集 A,它继承自程序集 B 中的类 X。现在在一个完全不同的解决方案中,我有使用类 Z 的程序集 C。

编译器会抱怨,除非程序集 C 引用了程序集 A 和 B。即使程序集 C 无论如何都不直接使用类 Z。

这是预期的吗?

在我看来,如果程序集 B 在运行时丢失,东西就会爆炸,但在编译时它不应该关心。

我在这里想念什么?

我的目标是我可以告诉我的客户依赖程序集 A 中的类 Z,但我可以在另一端完全重新配置我的程序集,并且在升级时对客户端完全没有影响。

0 投票
16 回答
187015 浏览

.net - 如何确定 .NET 程序集是为 x86 还是 x64 构建的?

我有一个任意的.NET 程序集列表。

我需要以编程方式检查每个 DLL 是否是为 x86(而不是 x64 或任何 CPU)构建的。这可能吗?

0 投票
4 回答
345 浏览

asp.net-mvc - 在安装了 beta 的盒子上运行 ASP.NET MVC preview 3 应用程序 - 安装 ASP.NET MVC Beta 后如何从 GAC 中删除 System.Web.Mvc?

我有一个针对 MVC Preview 3(引用 MVC 程序集的本地副本)构建的应用程序,我试图在安装了 ASP.NET MVC beta 的机器上对其进行修改/测试。我对更新这个应用程序以运行 MVC 测试版并不感兴趣——我只需要做一些小改动。

RouteCollection.IgnoreRoutes (在 global.asax.cs 中)上的 MissingMethodExceptions 失败,因为在运行时,CLR 总是在 GAC 中找到 System.Web.Mvc 的 beta 版本并加载它而不是在我的站点中加载预览 3 版本的 \ bin 目录。

由于程序集具有相同的名称、版本和公钥,我相信在 web.config 中无法区分它们,所以我认为这里唯一的解决方案是从 GAC 中删除 ASP.NET MVC beta 程序集。

只有 - 我不能这样做,因为它们是由 Windows Installer 安装的,所以我无法使用 gacutil.exe /u 删除它们,当我尝试直接删除它们时,我得到“访问被拒绝”。

任何人都知道我可以如何删除这个程序集 - 或者,如果失败了,如何在 GAC 中具有 System.Web.Mvc beta 的系统上运行/托管需要 System.Web.Mvc preview 3 的应用程序?

0 投票
2 回答
1269 浏览

.net - 向项目添加程序集引用时遇到问题

我在添加对我构建的 .NET 程序集的引用时遇到问题。这就是我所做的。

  1. 我创建了一个 .NET 程序集(testlib.dll)。
  2. 我确保它有一个强名称(添加了一个密钥文件)。
  3. 我为该程序集创建了一个 WiX 安装项目。
  4. 我将 Assembly='.net' 和 KeyPath='yes' 添加到程序集的 File 属性中。

安装工作正常。我可以在 GAC (C:\Windows\assembly) 中看到 testlib。

我创建了一个新的 .NET 项目并尝试添加对 testlib 的引用,但在“添加引用”对话框的 .NET 选项卡中没有看到它。我怎样才能让它出现在那里?

0 投票
2 回答
601 浏览

asp.net - 从哪里获取以及如何安装(或迁移)缺少的 ASP.NET 服务器程序集?

我正在将 Web 应用程序迁移到新的托管服务器,但是当我尝试访问它们以在新服务器上进行测试时,我得到所有这些未找到的程序集错误,例如:

有谁知道你在哪里找到这些安装或如何迁移它们?

0 投票
2 回答
3268 浏览

c# - 如何使用从程序集中动态加载的接口并调用其成员

我有一些代码来加载程序集并获取所有类型,它们实现了某个接口,就像这样(假设 asm 是一个有效且已加载的程序集)。

现在我被困住了:我需要创建这些对象的实例并调用对象的方法和属性。而且我需要将创建的对象的引用存储在一个数组中以供以后使用。