Под управлением программное обеспечение, созданное для.NET 3.5 в системе только с.NET 2,0 установленных

Одним путем я сделал это однажды, должен был добавить метод расширения в том же пространстве имен как перечисление, которое возвратило строку. В моем случае это было просто hardcoded, но не будет никакой проблемой, получая их от файла ресурсов.

    public static string Describe(this SomeEnum e)
    {
        switch(e)
        {
            SomeEnum.A:
                return "Some text from resourcefile";
            SomeEnum.B:
                return "Some other text from resourcefile";
            ...:
                return ...;
        }
    }

, Возможно, не чрезвычайно гладкое или необычное решение, но это работает =)

9
задан M. Dudley 8 February 2011 в 18:29
поделиться

3 ответа

Он (вероятно) не выйдет из строя, пока не попытается использовать dll, для которой требуется 3.5. Если выполняющееся приложение может проверить версию перед использованием каких-либо определенных dll 3.5, вы можете отобразить диалоговое окно winform, и все должно быть в порядке. Самым безопасным вариантом было бы сделать исполняемый файл сборкой 2.0 и сделать все ваши файлы 3.5 в отдельной dll, скомпилированной для версии 3.5. Вы можете проверить библиотеку 2.0 перед загрузкой любой из ваших сборок 3.5.

6
ответ дан 4 December 2019 в 19:35
поделиться

Рассматривали ли вы возможность развертывания ClickOnce? Агент проверит и установит все необходимые компоненты, которые вы укажете, включая .Net. Это также делает безболезненным продвижение обновлений вашего приложения.

3
ответ дан 4 December 2019 в 19:35
поделиться

.NET 3.5 использует среду выполнения .NET 2.0, поэтому приложение будет запускаться отлично (однако оно завершится ошибкой, когда оно попытается загрузить сборки 3.5). Вы можете проверить Environment.Version , чтобы узнать, работает ли вы на .NET 3.5, и представить пользователю стандартный MessageBox.Show , если нет.

3
ответ дан 4 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: