Получение информации о версии файла в Compact Framework
У меня есть некоторый код, который должен быть в состоянии найти номер версии сборки, учитывая строку, указывающую, где она находится.
Я не могу заставить это работать:
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? Благодарю.
1 ответ
sqlcecompact35.dll не является управляемой сборкой и поэтому не может быть загружен с помощью Reflection. Эта DLL, наряду с другими файлами, такими как sqlceqp35.dll, sqlceca35.dll (все дистрибутивы см. В дистрибутиве), являются неотъемлемой частью механизма обработки данных. Единственная управляемая сборка, которую вы можете загрузить таким способом, - это System.Data.SqlServerCe.dll.
РЕДАКТИРОВАТЬ
Получение информации о версии файла для собственного файла не так просто в Compact Framework. Я разработал и опубликовал решение для получения этой информации для вас.