Тип System.Drawing.Bitmap.
Библиотека для работы с WinAPI.
Несомненно проблема такого плана не возникает у всех каждый день.
Тем более, что такой проблемы не было до появления .NET 5, а на него, полагаю, перешли не все.
Спасибо, уточню в статье раз было неясно.
Оно то логично, но потом почему-то с урезанием неиспользованного кода не вырезается весь WinForms, который нигде по факту не используется.
TFM не ограничивается только формами.
Так получилось, что в библиотеке в одной из внутренних зависимостей используется тип из WinForms.
А раз он используется внутри, то вся библиотека затребовала windows TFM и в результате бинарник разбух без хорошей причины.
error NU1201: Project Library is not compatible with net5.0 (.NETCoreApp,Version=v5.0). Project Library supports: net5.0-windows7.0 (.NETCoreApp,Version=v5.0)
С таким подходом придётся либо работать с .NET 3.5 (если нужно Windows 7) или .NET 4.0.
В любом случае это достаточно древней фреймворк, чтобы некоторые необходимые библиотеки не работали с ними.
Кроме того, бывают случаи когда целенаправленно клиенты убирают .NET для безопасности.
Как раз если будут исходники будет полный «leftpad», а пока это так ерунда.
От того, что будут исходники отслеживать качество и безопасность ничуть не проще.
Кроме того любую dll можно dotPeek-ом превратить в полноценный проект C#, а потом добавить в проект как исходный код.
Но зачем ?:)
Наверное, по хорошему стоит смотреть на настройку CA1062. Если разработчик его установил, то стоит ругаться, а если запретил то конечно решаться не следует.
Ну тут зависит как смотреть. Придётся видимо учитывать в русском стиле все варианты произношения :)): пиво:
Бьярн считает, что чар потому как в английском итак нет логики :)
char" is usually pronounced "tchar", not "kar". This may seem illogical because "character" is pronounced "ka-rak-ter", but nobody ever accused English pronunciation (not "pronounciation" :-) and spelling of being logical.
Туда же putty пати, хотя логично пУти от слова put.
Gif — джиф, хотя логичней gif.
И так далее :)
Без Native AOT и так попадаем на баги .NET-а :)
А вот для своих утилит наверное стоит и попробовать раз есть положительный опыт.
Учитывая количество проблем, думаю рановато будет https://github.com/dotnet/runtimelab/labels/area-NativeAOT
Тип System.Drawing.Bitmap.
Библиотека для работы с WinAPI.
Несомненно проблема такого плана не возникает у всех каждый день.
Тем более, что такой проблемы не было до появления .NET 5, а на него, полагаю, перешли не все.
Спасибо, уточню в статье раз было неясно.
Оно то логично, но потом почему-то с урезанием неиспользованного кода не вырезается весь WinForms, который нигде по факту не используется.
TFM не ограничивается только формами.
Так получилось, что в библиотеке в одной из внутренних зависимостей используется тип из WinForms.
А раз он используется внутри, то вся библиотека затребовала windows TFM и в результате бинарник разбух без хорошей причины.
У меня не собирается:
Library.csproj
ConsoleApp.csproj
error NU1201: Project Library is not compatible with net5.0 (.NETCoreApp,Version=v5.0). Project Library supports: net5.0-windows7.0 (.NETCoreApp,Version=v5.0)
В любом случае это достаточно древней фреймворк, чтобы некоторые необходимые библиотеки не работали с ними.
Кроме того, бывают случаи когда целенаправленно клиенты убирают .NET для безопасности.
Компилируется да. А теперь попробуйте dotnet publish —self-contained.
Попробуйте, проект не соберётся.
error NETSDK1136: The target platform must be set to Windows (usually by including '-windows' in the TargetFramework property).
От того, что будут исходники отслеживать качество и безопасность ничуть не проще.
Кроме того любую dll можно dotPeek-ом превратить в полноценный проект C#, а потом добавить в проект как исходный код.
Но зачем ?:)
Ждём Shapes https://github.com/dotnet/csharplang/discussions/164
Наряду с ref, out сегодня есть ещё и in.
Наверное, по хорошему стоит смотреть на настройку CA1062. Если разработчик его установил, то стоит ругаться, а если запретил то конечно решаться не следует.
Подумываю заменить самописный скрипт для сборки на что-то более вменяемое.
Подумываю переписать на MSBuild, насколько Nuke себя оправдал?
Учитывая нелогичность всего и вся в английском, сомневаюсь, что в этом причина :)
То ли дело великий и могучий, мужчина мужского рода =)
Ну тут зависит как смотреть. Придётся видимо учитывать в русском стиле все варианты произношения :)): пиво:
Бьярн считает, что чар потому как в английском итак нет логики :)
char" is usually pronounced "tchar", not "kar". This may seem illogical because "character" is pronounced "ka-rak-ter", but nobody ever accused English pronunciation (not "pronounciation" :-) and spelling of being logical.
Туда же putty пати, хотя логично пУти от слова put.
Gif — джиф, хотя логичней gif.
И так далее :)
Таки «кар» от карактер (character) :)
Python 3 аналогично: / и //.
Должен быть по всей видимости auto a = 5u;
// Автоматический вывод типа
unsigned int a = 5;
auto b = a + 3;
Почему нет?
В плане поддержки системы различий между 3.1 и 5.0 практически нет.
https://github.com/dotnet/core/blob/master/release-notes/3.1/3.1-supported-os.md
https://github.com/dotnet/core/blob/master/release-notes/5.0/5.0-supported-os.md