Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / программка заработала на 4.5.2 хотя нужен был 4.6.2 / 6 сообщений из 6, страница 1 из 1
29.11.2019, 07:43
    #39896043
программка заработала на 4.5.2 хотя нужен был 4.6.2
Добрый день!
Разработал небольшую программку C# WinForms на .Net Framework 4.6.2
Установил на комп сотрудницы (Windows 7) и запустил - как ни странно программка запустилась,
хотя на её компе не установлен.Net Framework 4.6.2 а есть только 4.5.2
Как можно объяснить, что программа работает, хотя целевого фреймворка на компе нет?
...
Рейтинг: 0 / 0
29.11.2019, 08:20
    #39896056
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программка заработала на 4.5.2 хотя нужен был 4.6.2
Это чудо! Неисповедимы пути микрософтовы!
...
Рейтинг: 0 / 0
29.11.2019, 08:30
    #39896061
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программка заработала на 4.5.2 хотя нужен был 4.6.2
4.6.2 - это по сути не полноценный фреймворк, а обновление для более ранних версий. Если программа не использует какие-то фичи, которые появились именно в 4.6.2, то она вполне может работать на более ранних фреймворках.
...
Рейтинг: 0 / 0
29.11.2019, 08:56
    #39896074
программка заработала на 4.5.2 хотя нужен был 4.6.2
Сон Веры Павловны,
спасибо
...
Рейтинг: 0 / 0
29.11.2019, 09:38
    #39896088
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программка заработала на 4.5.2 хотя нужен был 4.6.2
все зависит от того как линкована сборка, возможно настроить механизм выбора версии сборки
вот пример конфигурации, где настроено, что при запросе сборки System.ValueTuple любой версии до 4.0.3.0 использовать всегда только 4.0.3.0. Целевую версию вы определяете сами.
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>


Так же в манифесте приложения можно жестко привязать версию линкованной сборки
...
Рейтинг: 0 / 0
29.11.2019, 09:49
    #39896101
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программка заработала на 4.5.2 хотя нужен был 4.6.2
Roman Mejtes
все зависит от того как линкована сборка, возможно настроить механизм выбора версии сборки
вот пример конфигурации, где настроено, что при запросе сборки System.ValueTuple любой версии до 4.0.3.0 использовать всегда только 4.0.3.0. Целевую версию вы определяете сами.
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>


Так же в манифесте приложения можно жестко привязать версию линкованной сборки

Можно, только вот версии сборок фреймворка - например, mscorlib - одни и те же что для 4.5, что для 4.6.2, и если используются только и исключительно сборки фреймворка, то binding redirect не поможет никак.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / программка заработала на 4.5.2 хотя нужен был 4.6.2 / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]