Questions tagged «assemblies»

程序集是已编译的.Net类型和资源的集合,这些资源分为逻辑和物理单元(以.dll文件或.exe文件的形式)。

7
AssemblyVersion,AssemblyFileVersion和AssemblyInformationalVersion有什么区别?
有三个程序集版本属性。有什么区别?如果我使用AssemblyVersion其余部分,可以忽略吗? MSDN说: AssemblyVersion: 指定要赋予属性的程序集的版本。 AssemblyFileVersion: 指示编译器对Win32文件版本资源使用特定的版本号。Win32文件版本不需要与程序集的版本号相同。 AssemblyInformationalVersion: 定义程序集清单的其他版本信息。 这是“使用程序集属性的最佳实践是什么?”的后续文章。


5
如何获取程序集文件版本
在AssemblyInfo有两个集版本: AssemblyVersion:指定要赋予属性的程序集的版本。 AssemblyFileVersion:指示编译器对Win32文件版本资源使用特定的版本号。Win32文件版本不需要与程序集的版本号相同。 我可以Assembly Version使用以下代码行获取: Version version = Assembly.GetEntryAssembly().GetName().Version; 但是我怎么能得到Assembly File Version呢?
727 c#  .net  assemblies  version 



14
为什么要使用指令删除不必要的C#?
例如,我很少需要: using System.Text; 但默认情况下它始终存在。我假设如果您的代码包含不必要的using指令,则应用程序将使用更多内存。但是我还有什么需要注意的吗? 另外,如果仅在一个文件中对大多数文件/所有文件使用相同的using指令,是否有任何区别? 编辑:请注意,此问题与称为using语句的无关概念无关,该语句旨在通过确保当对象超出范围时调用其IDisposable.Dispose方法来帮助管理资源。请参见C#中“使用”的用法。
216 c#  assemblies  using 

13
我可以在运行时加载.NET程序集并实例化仅知道名称的类型吗?
如果我只有DLL名称和类名称,而没有在项目中添加对程序集的引用,是否可以在运行时实例化对象?该类实现一个接口,因此一旦实例化该类,便将其强制转换为该接口。 程序集名称: 库.dll 类型名称: Company.Project.Classname 编辑:我没有DLL的绝对路径,所以Assembly.LoadFile将无法工作。DLL可能位于应用程序的根目录,system32中,甚至可能位于GAC中。
178 c#  assemblies 

8
使用程序集属性的最佳实践是什么?
我有多个项目的解决方案。我正在尝试通过链接一个解决方案范围的程序集信息文件来优化AssemblyInfo.cs文件。最佳做法是什么?哪些属性应该在解决方案范围内的文件中,哪些是项目/程序集特定的? 编辑:如果您有后续问题,AssemblyVersion,AssemblyFileVersion和AssemblyInformationalVersion之间有什么区别?

6
C#:为什么要签署程序集?
在我接管的某些C#代码中(在Visual Studio 2005中),我注意到程序集都使用同一.snk文件签名。 为什么以前的作者会以这种方式对程序集签名? 签名程序集是必需的吗?不签名怎么办? 签名程序集有什么缺点-​​会导致延迟吗?
146 c#  assemblies 

15
如何从GAC中提取装配体?
我必须处理一个程序包,它将程序集直接安装到GAC中(例如,%windows%/ assembly中的某个深处)。 如何将GAC中的实际程序集(DLL)驱除到普通文件系统中? 谢谢。
134 .net  assemblies 

13
如何查看C#编译器生成的MSIL / CIL?为什么称为汇编?
我是.NET C#编程的新手。我正在看几本书。据说不是直接将其编译为二进制代码(本机代码)。高级代码将转换为中间语言(称为MSIL,也称为CIL)。但是当我编译时,我得到一个exe / Dll文件。 这些MSIL / CIL是否包含在这些exe / dll文件中? 我想看一下中间语言代码。只是为了了解它的存在。怎么看? 他们称此exe / dll文件为assembly。他们是否使用这个“花哨的单词”只是为了将它们与包含二进制代码(本机代码)的exe / dll文件区分开?
130 c#  .net  assemblies 

8
NET中如何在运行时将文件夹添加到程序集搜索路径?
我的DLL是由第三方应用程序加载的,我们无法对其进行自定义。我的程序集必须位于它们自己的文件夹中。我无法将它们放入GAC(我的应用程序要求使用XCOPY进行部署)。当根DLL尝试从另一个DLL(在同一文件夹中)加载资源或类型时,加载失败(FileNotFound)。是否可以通过编程(从根DLL)将我的DLL所在的文件夹添加到程序集搜索路径中?我不允许更改应用程序的配置文件。
130 .net  search  assemblies  path 

7
.NET程序集的LoadFile和LoadFrom之间的区别?
我查看了msdn文档,但对使用LoadFile和LoadFrom加载程序集之间的区别到底还是有些困惑。有人可以提供示例或类比来更好地描述它吗?MSDN文档使我更加困惑。此外,ReflectionOnlyLoadFrom与相同,LoadFrom只是它仅以反射模式加载装配件。 由于我的.NET经验不是最好的,因此有一些有关使用LoadFile的MSDN文档的问题: 1)LoadFile检查具有相同标识但位于不同路径的程序集是什么意思?身份是什么(示例)? 2)声明LoadFile不将文件加载到“ LoadFrom Context”中,并且不使用加载路径解析依赖项。这意味着什么,有人可以提供示例吗? 3)最后,它指出LoadFile在有限的情况下很有用,因为LoadFrom无法加载具有相同标识但路径不同的程序集;它只会加载第一个这样的程序集,这又使我想到一个问题,程序集的身份是什么?

2
如何遍历当前加载的程序集?
我在ASP.NET应用程序中有一个“诊断”页面,该页面执行诸如验证数据库连接,显示当前appSettings和ConnectionStrings等操作。此页面的一部分显示了在整个过程中使用的重要类型的Assembly版本,但我不知道如何有效显示所有已加载程序集的版本。 找出.NET应用程序中所有当前引用和/或加载的程序集的最有效方法是什么? 注意:我对基于文件的方法不感兴趣,例如遍历特定目录中的* .dll。我对应用程序当前实际使用的内容感兴趣。
120 .net  assemblies 

8
如何使用所有引用递归将程序集加载到AppDomain?
我想加载到AppDomain具有复杂引用树的新程序集(MyDll.dll-> Microsoft.Office.Interop.Excel.dll-> Microsoft.Vbe.Interop.dll-> Office.dll-> stdole.dll) 据我了解,将程序集加载到时AppDomain,其引用不会自动加载,而我必须手动加载它们。因此,当我这样做时: string dir = @"SomePath"; // different from AppDomain.CurrentDomain.BaseDirectory string path = System.IO.Path.Combine(dir, "MyDll.dll"); AppDomainSetup setup = AppDomain.CurrentDomain.SetupInformation; setup.ApplicationBase = dir; AppDomain domain = AppDomain.CreateDomain("SomeAppDomain", null, setup); domain.Load(AssemblyName.GetAssemblyName(path)); 并得到FileNotFoundException: 无法加载文件或程序集'MyDll,版本= 1.0.0.0,文化=中性,PublicKeyToken =空'或其依赖项之一。该系统找不到指定的文件。 我认为关键部分是其依赖项之一。 好吧,我之前要做 domain.Load(AssemblyName.GetAssemblyName(path)); foreach (AssemblyName refAsmName in Assembly.ReflectionOnlyLoadFrom(path).GetReferencedAssemblies()) { domain.Load(refAsmName); } 但是FileNotFoundException再次出现在另一个(引用的)程序集上。 如何递归加载所有引用? …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.