问题标签 [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 投票
1 回答
4934 浏览

c# - 如何引用多版本程序集

我正在开发一个 Sharepoint 应用程序并使用 .NET AjaxControlToolkit 库,我们正在向 Sharepoint 添加一个自定义 aspx 页面。Sharepoint 2007 在 quirks 模式下运行,因此我对 AJAX 库进行了一些修改,使其表现得像往常一样。问题是,另一个团队已经使用了 AJAX 库,而且它与我的版本不同。这导致了冲突,因为 bin 文件夹中可能只有一个同名的 dll。

据我所知,.NET 应该能够轻松处理这种情况。我尝试使用强名称和 GAC 来解决它,但它仍然引用 bin 文件夹中的 dll。如果 bin 文件夹中没有 AjaxControlToolkit.dll,应用程序将无法加载程序集。

如果我像这样使用完整的组装信息

它给了我编译器错误 CS0433

有人可以帮助我如何在应用程序中使用多个版本的程序集吗?

0 投票
3 回答
16156 浏览

c# - FileNotFoundException for mscorlib.XmlSerializers.DLL, which doesn't exist

I'm using an XmlSerializer to deserialize a particular type in mscorelib.dll

This throws a caught FileNotFoundException when the assembly is loaded:

"Could not load file or assembly 'mscorlib.XmlSerializers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified."

FusionLog:

As far as I know there is no mscorlib.XmlSerializers.DLL, I think the DLL name has bee auto generated by .Net looking for the serializer.

You have the option of creating a myApplication.XmlSerializers.DLL when compiling to optimise serializations, so I assume this is part of the framework's checking for it.

The problem is that this appears to be causing a delay in loading the application - it seems to hang for a few seconds at this point.

Any ideas how to avoid this or speed it up?

0 投票
4 回答
628 浏览

c# - .Net 动态插件加载权限

对于必须执行以下操作的系统,您可以给出哪些建议:

加载插件(并最终执行它们),但有两种加载这些插件的方法:

  • 仅加载授权插件(由软件所有者开发)
  • 加载所有插件

而且我们需要相当安全地确保授权插件是真实的(未修改的)。但是,所有插件都必须在单独的程序集中。我一直在考虑为插件使用强命名程序集,并将公钥存储在加载程序应用程序中,但对我来说,修改加载程序应用程序中的公钥(如果用户如此倾向于)似乎太容易了,不管加载程序应用程序的任何混淆。还有更安全的想法吗?

0 投票
5 回答
4161 浏览

.net - 确定加载的程序集

如何确定我的 .NET 桌面应用程序已加载的所有程序集?我想把它们放在关于框中,这样我就可以通过电话查询客户以确定他们在他们的 PC 上使用的 XYZ 版本。

很高兴看到托管和非托管程序集。我意识到这个列表会很长,但我计划对其进行增量搜索。

0 投票
3 回答
1756 浏览

web-applications - 在 Web 应用程序的页脚中显示底层软件的版本?

我正在考虑dlls在我的 Web 应用程序的页脚中提供一个版本,比如数据库模式和业务逻辑。

这是建议吗?

是否有任何陷阱或如何做到最好的指示?

可用性问题?

我已经有一个用于架构和 dll 的版本方案,用于我的 CI 解决方案。

0 投票
4 回答
1298 浏览

c# - 在 .NET 程序集中内部化类和方法

我有一组多个程序集(一个程序集用作 API,它依赖于其他程序集)。我想将所有程序集合并为一个程序集,但防止除 API 之外的所有程序集从外部可见。

然后我将使用 Xenocode 混淆这个程序集。据我所见,用 Xenocode 将程序集内部化是不可能的。

我看过微软的 ILMerge,但无法确定它是否能做我想做的事。 http://research.microsoft.com/~mbarnett/ILMerge.aspx

0 投票
5 回答
13860 浏览

.net - 签署 .NET 程序集的最佳实践?

我有一个由五个项目组成的解决方案,每个项目都编译为单独的程序集。现在我正在对它们进行代码签名,但我很确定我做错了。这里的最佳做法是什么?

  • 用不同的密钥对每个签名;确保密码不同
  • 用不同的密钥对每个签名;如果需要,请使用相同的密码
  • 使用相同的密钥对每个签名
  • 完全不同的东西

基本上我不太确定“签名”对他们有什么作用,或者这里的最佳实践是什么,所以更普遍的讨论会很好。我真正知道的是FxCop对我大喊大叫,通过单击“签署此程序集”复选框并使用 Visual Studio (2008) 生成一个 .pfx 文件很容易解决。

0 投票
3 回答
914 浏览

.net - 获取应用程序所需的程序集列表

有没有办法将 .net 项目的所有必需程序集(不包括 .net 框架)放入准备打包到nsis作为安装文件的文件夹中?

我尝试编写一个小型控制台应用程序,该应用程序使用反射来获取 dll 列表,但一直坚持寻找一种确定 dll 是否来自 .net 框架的万无一失的方法。

答案可能是 Visual Studio 中的一个简单开关以输出所有依赖项,或者可以执行此操作的独立应用程序,或者 Nsis 的插件,或者我错过的一些关于反射的信息。

0 投票
7 回答
3568 浏览

.net - 确定程序集是否是 .NET 框架的一部分

如何从程序集名称或程序集类(或其他类似名称)中判断程序集是否是.NET框架的一部分(即 .NET 框架System.windows.Forms)?

到目前为止,我已经考虑了 PublicKeyToken 和 CodeBase 属性,但对于整个框架来说,它们并不总是相同的。

我想要此信息的原因是获取我的 EXE 文件正在使用的程序集列表,这些程序集需要在客户端计算机上,因此我可以将正确的文件打包到安装文件中,而无需使用 Visual Studio 安装系统。问题是,我不想选择任何 .NET 框架程序集,我希望它是一个自动过程,只要完成主要更新就可以轻松推出。

最终的解决方案是有一个 IsFramework 属性...... :)

0 投票
2 回答
19829 浏览

c# - 加载同一程序集的不同版本

使用反射,我需要加载同一程序集的 2 个不同版本。我可以在同一进程中加载​​ 2 个不同 AppDomain 中的 2 个版本吗?

我需要从旧版本的应用程序到新版本进行一些数据迁移。请让我知道这是否可行,或者我应该使用 2 个单独的过程。