Как проверить совместимость моей программы и версий.NET Framework?
Я пишу программу, которая предназначена для работы на.net Framework 2.0.
Я выбрал 2.0 в моем проекте VS.
Он отлично работает на моей машине (у меня 2.0 SP2), поэтому нет ошибки компиляции. но когда я попытался запустить его на другой машине (только с 2.0, без sp), он не может работать. Я знаю, что я использовал какой-то метод, который поддерживается 2.0, но только с 2.0 SP2.
.net Framework 2.0 с пакетом обновления 2 (SP2), по-видимому, отсутствует в VS IDE, поэтому VS не может дать мне никакого предупреждения, когда я скомпилировал его на своей машине.
Как я могу легко проверить совместимость моих кодов с.net framework 2.0 SP2? или я просто должен посмотреть на msdn, чтобы проверить все методы, которые я использовал???
Спасибо
3 ответа
Вы можете запустить FxCop, который будет предупреждать вас всякий раз, когда вы вызываете метод, представленный пакетом обновления.
Вы можете определить, где в вашем коде ошибка, когда нет sp.
Затем вы просто создаете фиктивный фрагмент, который использует эту структуру, и перехватываете исключение.
Если не обнаружено никаких исключений, вы в порядке. Если выдается исключение, вы, вероятно, пропустите sp2.
Если вы точно знаете, какие именно библиотеки (dll) отличают 2.0 SP2 от 2.0, вы можете попытаться найти и загрузить их программным способом. В случае сбоя SP2 отсутствует.
В случае, если нет "новых" dll, вы можете использовать отражение, чтобы проверить, есть ли у класса определенный метод. Если это так, у вас есть SP2.
Это решение для времени выполнения, поэтому вы можете отобразить дружественное сообщение для пользователя.