1

В общем, пишу на C# проект который должен запускается хотя бы на Windows 10, на новой .NET на чистой 10-ой винде выводит эту ошибку -

введите сюда описание изображения

Мне нужно сделать чтобы она работала без установки дополнительного ПО, я погуглил, понял что нужно писать на старом NET-е, но даже когда я перехожу на NET 5.0 мне сыпят ошибки

Ошибка CS8773 Функция "глобальная директива using" недоступна в C# 9.0. Используйте как минимум версию языка 10.0.

введите сюда описание изображения

  • переписывайте код так, чтобы он работал на 9 версии. – ArchDemon Aug 04 '22 at 19:53
  • 1
    NET 5.0 совсем не старый и в Windows 10 его по умолчанию нет – andreymal Aug 04 '22 at 19:55
  • Я не знаю как переписать под 9-ую версию, мб он даже не занет что такое using. Я знаю что NET 5 нет в 10-ой винде, я его взял чтобы написать код хотя бы на +- новой версии, а потом уже пытаться на более старых – GGHotDog Aug 04 '22 at 19:58
  • То, что просит установить - тут нет ничего плохого, ведь на данный момент сами OS (особенно старые) не имеют .NET "из коробки", там есть только .NET Framework. Раньше например спокойно люди ставили фреймворки и всякие С++ библиотеки для запуска нужного софта, почему думаете, что ваши клиенты это не смогут сделать? Ну а так, у вас по сути 2 варианта: 1. Переписать проект про старый, заброшенный .NET Framework, изменяя все нововведения, переписывая их под старую версию языка. 2. Собрать проект так, чтобы рядом с ним были компоненты самого .NET и он был "портативным". – EvgeniyZ Aug 04 '22 at 20:01
  • 1
    Просто собирать self-contained, и будет без установки дотнета работать. Я скажу напротив, в старых фреймворках такая возможность нативно вообще отсутствовала. В .NET 5+ всё есть, не выдумывайте велосипедов. – aepot Aug 04 '22 at 20:07
  • @EvgeniyZ Дело не в том что клиенты не смогут установить, проблема в том что это не удобно, а идея с компонентами .NET неплохая, спасибо – GGHotDog Aug 04 '22 at 20:08
  • 1
    "не удобно" - это не ваша проблема, а Microsoft и их OS. Вам дают свежий .NET, замену .NET Framework, можете использовать - используйте. Или вам удобство важней производительности, важней новых возможностей, быстрой разработке, дальнейшему развитию языка? Если важней именно удобство запуска, сложно раз установить рантайм на компьютер, то ок, ну а если нет, то я не понимаю к чему эти все телодвижения. Сейчас почти каждый проект, который написан на C# требует установку .NET 5/6 Runtime, он уже почти у большинства есть на компьютере, а поставить его займет сек 20... – EvgeniyZ Aug 04 '22 at 20:14

0 Answers0