有三个程序集版本属性.有什么区别?如果我使用AssemblyVersion
并忽略其余部分可以吗?
MSDN说:
指定要归属的程序集的版本.
指示编译器使用Win32文件版本资源的特定版本号.Win32文件版本不需要与程序集的版本号相同.
定义程序集清单的其他版本信息.
这是使用装配属性的最佳做法的后续行动?
如何在.NET中启用程序集绑定失败日志记录(Fusion)?
在AssemblyInfo
有两个集版本:
AssemblyVersion
:指定要归属的程序集的版本.AssemblyFileVersion
:指示编译器使用Win32文件版本资源的特定版本号.Win32文件版本不需要与程序集的版本号相同.我可以Assembly Version
使用以下代码行:
Version version = Assembly.GetEntryAssembly().GetName().Version;
Run Code Online (Sandbox Code Playgroud)
但我怎么能得到Assembly File Version
?
我有一个任意的.NET程序集列表.
我需要以编程方式检查每个DLL是否是为x86构建的(而不是x64或任何CPU).这可能吗?
例如,我很少需要:
using System.Text;
Run Code Online (Sandbox Code Playgroud)
但它默认始终存在.我假设如果您的代码包含不必要的using指令,应用程序将使用更多内存.但还有什么我应该知道的吗?
另外,如果只在一个文件和大多数/所有文件中使用相同的using指令,它会有什么不同吗?
编辑:请注意,这个问题与被称为using语句的无关概念无关,旨在通过确保当对象超出范围时调用其IDisposable.Dispose方法来帮助管理资源.请参阅C#中"使用"的使用.
如果我只有DLL名称和类名,而不在项目中添加对程序集的引用,是否可以在运行时实例化对象?该类实现了一个接口,所以一旦我实例化该类,我将把它转换为接口.
大会名称:
library.dll
类型名称:
Company.Project.Classname
编辑:我没有DLL的绝对路径,所以Assembly.LoadFile
不会工作.DLL可能位于应用程序根目录,system32中,甚至可能已加载到GAC中.
我有一个多项目的解决方案.我试图通过链接一个解决方案范围的程序集信息文件来优化AssemblyInfo.cs文件.这样做的最佳做法是什么?哪些属性应该在解决方案范围的文件中,哪些属于项目/程序集特定?
编辑:如果您有兴趣,有一个后续问题AssemblyVersion,AssemblyFileVersion和AssemblyInformationalVersion之间有什么区别?
在我接管的一些C#代码中(在Visual Studio 2005中),我注意到程序集都使用相同的.snk
文件进行签名.
我必须处理一个包,它将程序集直接安装到GAC中(例如,在%windows%/ assembly中的某个地方).
如何将实际程序集(DLL)从GAC驱动到普通文件系统?
谢谢.
assemblies ×10
.net ×6
c# ×6
attributes ×2
64-bit ×1
assemblyinfo ×1
binding ×1
strongname ×1
using ×1
vb.net ×1
version ×1
x86 ×1
x86-64 ×1