Получение информации о версии файла в Compact Framework - PullRequest
3 голосов
/ 28 сентября 2010

У меня есть код, который должен быть в состоянии найти номер версии сборки, учитывая строку, в которой указано, где она находится.

Я не могу заставить это работать:

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 Ответ

3 голосов
/ 28 сентября 2010

sqlcecompact35.dll является , а не управляемой сборкой и поэтому не может быть загружен с помощью Reflection. Эта DLL вместе с другими файлами, такими как sqlceqp35.dll, sqlceca35.dll (все дистрибутивные файлы смотрите в дистрибутиве), являются основными компонентами механизма обработки данных. Единственная управляемая сборка, которую можно загрузить таким способом, - это System.Data.SqlServerCe.dll.

EDIT

Получение информации о версии файла для собственного файла не так просто в Compact Framework. Я создал и опубликовал в блоге решение , чтобы получить эту информацию для вас.

...