我有一些代码需要能够找到程序集的版本号,给定一个字符串说明它所在的位置。
我无法让它工作:
Assembly assembly = Assembly.LoadFrom("\\Program Files\\Microsoft SQL Server Compact Edition\\v3.5\\sqlcecompact35.dll");
引发 System.IO.IOException:未找到文件或程序集名称“\Program Files\Microsoft SQL Server Compact Edition\v3.5\sqlcecompact35.dll”或其依赖项之一。
但该文件确实存在:
FileInfo fileInfo = new FileInfo("\\Program Files\\Microsoft SQL Server Compact Edition\\v3.5\\sqlcecompact35.dll");
创建一个对象,其中 fileInfo.Exists == true。
我应该传递不同的文件名/路径来加载 SQL CE 程序集吗?谢谢。
sqlcecompact35.dll 是not托管程序集,因此无法通过反射加载。该 DLL 以及其他文件,如 sqlceqp35.dll、sqlceca35.dll(在发行版中查找所有文件)是数据引擎的核心部分。您可以通过这种方式加载的唯一托管程序集是 System.Data.SqlServerCe.dll。
EDIT
在 Compact Framework 中获取本机文件的文件版本信息并不那么容易。我已经建立并博客上写了一个解决方案为您检索此信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)