Если программа изначально нацелена на работу с ними, то проблем нет.
Однако если мы хотим создать консольное приложение и где-то в зависимостях используется тип из System.Windows.Forms, и даже если сам класс этот не используется, нужно все проекты переводить на -windows TFM.
Результат печален, получаем лишние 60МБ, которые просто не нужны.
Решение: Вручную прописать зависимости фреймворка.
Результат: 18МБ против 81МБ без изменения кода.
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace ClassLibrary2
{
public class Class1
{
void F()
{
var f = new Form();
f.Show();
}
}
}
Здравствуйте, _NN_, Вы писали:
_NN>Начиная с .NET 5 для работы с Windows Forms или WPF требуется указать Target Framework Moniker _NN>Результат печален, получаем лишние 60МБ, которые просто не нужны.
Это из серии "сломаю-ка я себе ноги! блин... а бегать-то неудобно. О, костыли!". Зачем вообще переходить на сырое, недописанное поделие "хипстеры хотят многоплатформочку", вместо того, чтобы спокойно писать на .NET FW??
Или кто-то до сих пор думает, что "писать под Линукс" — это круто??
Здравствуйте, Kolesiki, Вы писали:
K>Это из серии "сломаю-ка я себе ноги! блин... а бегать-то неудобно. О, костыли!". Зачем вообще переходить на сырое, недописанное поделие "хипстеры хотят многоплатформочку", вместо того, чтобы спокойно писать на .NET FW?? K>Или кто-то до сих пор думает, что "писать под Линукс" — это круто??
Как бы звучало это не банально, но таки да мы портировали на Мак и Линукс и прекрасно с этим работаем.
У .NET FW тоже не всё идеально.
Для начала если нужна Windows 7, то ограничиваемся 3.5 или заставляем клиентов ставить новее.
Клиенты очень недовольны.
Либо требуем не менее 4.0 , что также довольно старая версия.
Или уже требуем установки более новой, и получаем ещё больше воплей.
Кроме того, некоторые убирают .NET FW в целях безопасности.
В любом случае работа со старым фреймворком ещё то удовольствие.
Банальных фич не хватает.
В общем тут надо смотреть требования, а дальше решать, что готовы принести в жертву
Здравствуйте, VladCore, Вы писали:
VC>В Core 6 Preview уже есть WPF & Winforms для ARM64. VC>Будет урезанный вариант работать?
В смысле — можно просто собрать? Я просто не могу вспомнить — какая сейчас есть живая версия Windows под ARM, кроме какой-то хитрой Embedded (которая на Raspberry Pi работала).
VC>В Core 6 Preview уже есть WPF & Winforms для ARM64.
VC>Будет урезанный вариант работать?
Это не имеет отношения к платформе.
Работать всё будет так же.
Следует учесть, что у меня рассматривается довольно специфический случай когда есть консольное приложение, зависимое от библиотеки собранной с windows TFM, но в итоге ничего из Windows Forms не используется.
По хорошему dotnet должен был разрулить это сам, но не смог.
Здравствуйте, Михаил Романов, Вы писали:
VC>>В Core 6 Preview уже есть WPF & Winforms для ARM64. VC>>Будет урезанный вариант работать?
МР>В смысле — можно просто собрать? Я просто не могу вспомнить — какая сейчас есть живая версия Windows под ARM, кроме какой-то хитрой Embedded (которая на Raspberry Pi работала).
Обычная десятка. С мышкой, клвавой и магазином приложений) эмулятор AMD64 кстати майкрософт для нее за несколько месяцев до Эппла выкатила. С поддержкой h/w акселерации графики.
Здравствуйте, VladCore, Вы писали:
МР>>В смысле — можно просто собрать? Я просто не могу вспомнить — какая сейчас есть живая версия Windows под ARM, кроме какой-то хитрой Embedded (которая на Raspberry Pi работала).
VC>Обычная десятка. С мышкой, клвавой и магазином приложений) эмулятор AMD64 кстати майкрософт для нее за несколько месяцев до Эппла выкатила. С поддержкой h/w акселерации графики.
Это типа для ноутбуков на ARM?
Здравствуйте, Михаил Романов, Вы писали:
VC>>Обычная десятка. С мышкой, клвавой и магазином приложений) эмулятор AMD64 кстати майкрософт для нее за несколько месяцев до Эппла выкатила. С поддержкой h/w акселерации графики. МР>Это типа для ноутбуков на ARM?
на слуху это Surface Pro X только. Есть ли другие ноуты я не слышал.
Здравствуйте, Михаил Романов, Вы писали:
МР>Здравствуйте, VladCore, Вы писали:
VC>>В Core 6 Preview уже есть WPF & Winforms для ARM64. VC>>Будет урезанный вариант работать?
МР>В смысле — можно просто собрать? Я просто не могу вспомнить — какая сейчас есть живая версия Windows под ARM, кроме какой-то хитрой Embedded (которая на Raspberry Pi работала). Скачать Windows 10X теперь может любой желающий — почти финальная сборка ОС утекла в Сеть