我有 C# 应用程序,当我进行更改时,我收到错误消息:
发生了“System.TypeLoadException”类型的未处理异常 WindowsFormsApplication1.exe
附加信息:无法加载类型
程序集中的“TradeIdeas.TIProData.OddsMakerColumnConfiguration” “TIProData,版本=1.0.0.0,文化=中性,PublicKeyToken=null”。
此消息表示 dll (TIProData) 的版本号是 1.0.0.0。我认为有更高版本可用。如何知道我的机器上 dll 的版本号?
有几种方法可以做到这一点:
如果您在 Visual Studio 中引用该 dll,请右键单击它(在 ProjectName/References 文件夹中)并选择“属性”,您将看到“版本”和“运行时版本”。
在文件资源管理器中,当您右键单击 dll 文件并选择属性时,会出现“文件版本”和“产品版本”。
或者,在代码中研究它:
Assembly assembly = Assembly.LoadFrom("TestAssembly.dll");
Version ver = assembly.GetName().Version;
如果你知道属于程序集的Class,你可以使用GetTypeInfo
var runtimeVersion = typeof(MyClass)
.GetTypeInfo()
.Assembly
.GetCustomAttribute<AssemblyFileVersionAttribute>();
var version = runtimeVersion.Version;
该示例适用于.Net Core 来自 https://developers.de/blogs/damir_dobric/archive/2017/06/27/how-to-deal-with- assembly-version-in-net-core.aspx
来自 Powershell(PSCore):
$assembly = [System.Reflection.Assembly]::LoadFrom("$pwd\System.Memory.dll")
除了$assembly.FullName
之外,你还可以从物体上拾取任何其他道具。