.NET / C# – Telegram
.NET / C#
3.93K subscribers
2.14K photos
40 videos
1 file
3.68K links
Лучшие материалы по разработке на платформе .NET и языке C#

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Microsoft завершила поддержку Xamarin.Forms, рекомендуя переходить на MAUI — пока крайне сырой и несовместимый с наследуемыми проектами. В статье подробно разбирают, как обойти проблемы с компиляцией iOS-приложений и требованиями Apple при использовании Xamarin. Ошибка ITMS-91061 мешает загрузке .ipa из Xamarin.iOS в App Store из-за отсутствия PrivacyInfo.xcprivacy. В статье описан пошаговый способ создания файла, подписи фреймворков и сборки приложения, позволяющий успешно публиковать релизы через Transporter App.

Читать подробнее: https://habr.com/ru/articles/929780/

#ru

@dot_net_c_sharp | Другие наши каналы
😢2
Новая API для source generators в .NET 10 решает проблему конфликтов с "маркерными атрибутами". С помощью атрибута [Embedded] и метода AddEmbeddedAttributeDefinition() теперь можно избежать предупреждений при сборке и упростить использование генераторов кода в многопроектах. Новые возможности для авторов source-генераторов в .NET 10 позволяют использовать AddEmbeddedAttributeDefinition() для встраивания атрибутов, упрощая разработку и снижая требования к пакетам. Альтернатива — shared dll, которая подходит для сложных публичных API. Выбор зависит от задач и аудитории.

Подробности: https://andrewlock.net/exploring-dotnet-10-preview-features-4-solving-the-source-generator-marker-attribute-problem-in-dotnet-10/

#en

@dot_net_c_sharp | Другие наши каналы
Электронная подача документов в Черногории пока не работает. Автор статьи проверил систему CRPS: документы через личный кабинет отправить можно, но на стороне регистратора их не видят. Для регистрации всё равно нужны бумажные документы и личное общение с чиновниками. Регистрация компаний и налоговые сервисы в Черногории работают нестандартно: несмотря на сложности с подачей документов и старые технические решения, процесс двигается. Есть свои нюансы, но многие вопросы решаются с помощью поддержки. Опыт одного предпринимателя — в статье. Особенности жизни в Черногории глазами автора

В Черногории строго охраняется частная собственность: велосипед на парковке стоит год без опасений кражи. Местные читают много и разнообразно, книжных магазинов здесь больше, чем школ. Весной Подгорица оживает яркими контрастами природы.

Читать подробнее: https://habr.com/ru/articles/929072/

#ru

@dot_net_c_sharp | Другие наши каналы
1
MCP C# SDK обновился до спецификации 2025-06-18. Добавлены улучшенный протокол аутентификации, поддержка интерактивного сбора данных от пользователей и структурированный вывод инструментов. Это расширяет возможности создания безопасных и гибких AI-приложений на .NET. Новые возможности MCP C# SDK: поддержка протокола версии 2025-06-18 открывает расширенные функции для разработчиков AI на .NET. Обновлённый SDK улучшил аутентификацию, работу с инструментами и вывод данных, делая интеграции более мощными и безопасными.

Подробности: https://devblogs.microsoft.com/dotnet/mcp-csharp-sdk-2025-06-18-update/

#en

@dot_net_c_sharp | Другие наши каналы
.NET 8: новые возможности для разработчиков

В книге подробно раскрыты современные технологии .NET 8: работа с Web API, gRPC, Blazor Full Stack и мобильной разработкой на MAUI. Издание поможет освоить эффективные методы построения масштабируемых и безопасных приложений.

Читать подробнее: https://habr.com/ru/companies/piter/articles/930400/

#ru

@dot_net_c_sharp | Другие наши каналы
Автоматизация мобильного тестирования: как команда Мельникова перешла от ручного регресса к ферме устройств и автотестам в CI. В статье подробно рассказывается о выборе инструментов, устройстве инфраструктуры и первых шагах к эффективности и качеству. Автоматизация тестирования мобильных приложений: как в Android удалось полностью запустить авто-тесты на реальных устройствах, а для iOS пока есть ограничения Apple. В планах — виртуальная ферма устройств и автозапуск тестов после деплоя. Оптимизация виртуальных ферм iOS: опыт и идеи
В статье обсуждаются подходы к решению проблем на iOS и улучшению работы виртуальных ферм. Автор приглашает делиться своим опытом и мыслями в комментариях, чтобы вместе найти лучшие решения.

Читать подробнее: https://habr.com/ru/companies/ingos_it/articles/931012/

#ru

@dot_net_c_sharp | Другие наши каналы
SUMMARIZECOLUMNS в Power BI продолжает развиваться, а для C# появилось решение — NuGet пакет DaxSharp. Он реализует логику SUMMARIZECOLUMNS с декартовым произведением и выполнением по частям, позволяя создавать DAX-style запросы напрямую в C#, сохраняя контроль над процессом. Работа SUMMARIZECOLUMNS в DAX: как избежать декартова произведения и обрабатывать большие данные. В статье показаны примеры использования SUMMARIZECOLUMNS с группировками из одной и разных таблиц, а также как эффективно работать с миллиардными объемами данных без потери производительности. DaxSharp демонстрирует впечатляющую производительность, обрабатывая 100 млн записей с декартовым произведением полей 1 млн x 1 млн. Это подтверждает алгоритмическую корректность пакета и возможность создания C#-аналога логики DAX для Power BI.

Читать подробнее: https://habr.com/ru/articles/928416/

#ru

@dot_net_c_sharp | Другие наши каналы
2
Ошибки в DI-контейнерах, особенно с Delegate-регистрациями в Autofac, приводят к сбоям в приложениях. Новая статья рассказывает, как с помощью анализа IL-кода и валидации при сборке избежать проблем с зависимостями и повысить стабильность сервиса.

Читать подробнее: https://habr.com/ru/companies/skbkontur/articles/925146/

#ru

@dot_net_c_sharp | Другие наши каналы
2
Новое в .NET 10: команда dnx позволяет запускать инструменты без их установки. Это упрощает использование одноразовых утилит, аналогично npx в Node.js. Команда загружает и запускает инструмент напрямую из кэша, сокращая время и усилия.

Подробности: https://andrewlock.net/exploring-dotnet-10-preview-features-5-running-one-off-dotnet-tools-with-dnx/

#en

@dot_net_c_sharp | Другие наши каналы
Деревья выражений в C# помогают создавать быстрые и эффективные методы преобразования данных, ускоряя работу с объектами и запросами в Entity Framework Core. В статье раскрываются механизмы мэппинга и построения сложных фильтров через IQueryable.

Читать подробнее: https://habr.com/ru/articles/932110/

#ru

@dot_net_c_sharp | Другие наши каналы
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
.NET Aspire 9.4: крупное обновление с новой CLI, интерактивными дашбордами и поддержкой AI. Теперь разработка приложений стала быстрее и удобнее благодаря нативному AOT-инструменту и расширенным возможностям взаимодействия с пользователем.

Подробности: https://devblogs.microsoft.com/dotnet/announcing-aspire-9-4/

#en

@dot_net_c_sharp | Другие наши каналы
❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем простое TODO-приложение на React и Aspire. В статье подробно описывают настройку проекта, интеграцию с ASP.NET Core Web API и работу с базой SQLite через Entity Framework. Подробные инструкции помогут быстро запустить и протестировать приложение.

Подробности: https://devblogs.microsoft.com/dotnet/new-aspire-app-with-react/

#en

@dot_net_c_sharp | Другие наши каналы
Генерация EventHandler-ов и работа с шиной сообщений теперь проще. В статье рассказывается о создании интерфейсов для отправки и обработки сообщений, включая работу с MassTransit, и об оптимизации генерации кода, уменьшающей рукописный объем и ускоряющей разработку. Генерация BatchEventHandler для WebAPI и MassTransit

Статья подробно описывает процесс создания генераторов для BatchEventHandler, которые упрощают обработку пакетных вставок и интеграцию с MassTransit, снижая объем ручного кода при разработке WebAPI с высокой нагрузкой. Регистрация и генерация кода для обработки событий облегчают разработку на .NET. В статье описывают создание генераторов для WebAPI, DTO и обработчиков, а также настройку шины сообщений с MassTransit. Кодогенерация сокращает трудозатраты в 11 раз, повышая скорость разработки.

Читать подробнее: https://habr.com/ru/articles/932630/

#ru

@dot_net_c_sharp | Другие наши каналы
2
Как правильно работать с часовыми поясами в Telegram-ботах? Автор делится опытом решения проблем с отображением и сохранением времени в проекте для записи на игры. Основная сложность — разные часовые пояса участников и необходимость выбора локального времени вручную. Почему важно правильно работать с таймзонами в боте

Проблемы с датами и временем в Telegram-ботах связаны с часовыми поясами и переходом на летнее время. Автор статьи советует использовать реальные таймзоны и хранить время в UTC или таймзоне группы, чтобы избегать ошибок при планировании игр.

Читать подробнее: https://habr.com/ru/articles/932818/

#ru

@dot_net_c_sharp | Другие наши каналы
Как работает генератор случайных чисел Rnd() в VBA

В статье раскрывают механизм функции Rnd() в VBA — её линейный конгруэнтный алгоритм, влияние аргументов на последовательность и особенности вычислений по модулю. Это полезный вводный обзор для тех, кто интересуется внутренним устройством генератора.

Читать подробнее: https://habr.com/ru/articles/932850/

#ru

@dot_net_c_sharp | Другие наши каналы
В C# проекты часто попадают ошибки из-за отключенного nullable-анализa. Включение #nullable enable и трактовка предупреждений как ошибок помогает избежать распространённых NullReferenceException и повысить надёжность кода. Это важный этап для безопасного и аккуратного программирования. Как избежать лишних копий struct и утечек памяти в C#
Статья разбирает, почему непомеченный readonly struct вызывает лишние копии, как правильно использовать readonly методы и in-параметры. Также объясняет, как забытые подписки на события приводят к утечкам памяти и как этого избежать. Тестирование и оптимизация в ASP.NET Core: узнайте, как проводить API-тесты и улучшать микросервисы с CQRS и Event Sourcing на .NET. Бесплатные открытые уроки и тесты доступны через Telegram-бот. Проверьте свои знания и развивайтесь вместе с профессионалами!

Читать подробнее: https://habr.com/ru/companies/otus/articles/932888/

#ru

@dot_net_c_sharp | Другие наши каналы
2
Анализ кода Lean trading engine выявил критичные ошибки, способные привести к финансовым потерям. Статический анализатор PVS-Studio нашёл баги в ключевых методах и опасные моменты в обработке данных. Важно учитывать эти проблемы при разработке торговых стратегий.

Читать подробнее: https://habr.com/ru/companies/pvs-studio/articles/933190/

#ru

@dot_net_c_sharp | Другие наши каналы
Почему throw не лучше goto: стоит ли избегать исключений?
В статье обсуждают параллели между throw и goto, показывая, что бездумное использование исключений ведёт к сложному, запутанному коду. Рекомендуется выбрасывать исключения только в критичных случаях, отдавая предпочтение явному возврату ошибок. Как избежать try-catch и упростить обработку ошибок в C#? В статье показан паттерн Result, который аккуратно обрабатывает успешные и ошибочные результаты без лишних исключений. Решение улучшает читаемость кода и позволяет удобно работать с ошибками и данными. Ошибка при пустом значении и выбор места для Result — важная тема для разработчиков. Статья рассказывает, как избежать ошибок и сделать код понятнее. Также проводится опрос о способах обработки ошибок в коде.

Читать подробнее: https://habr.com/ru/articles/933454/

#ru

@dot_net_c_sharp | Другие наши каналы
4🤣2
Готовое решение или собственная разработка для подписок и регулярных платежей? Павел из DD Planet делится опытом и рассказывает, с какими вызовами сталкиваются сервисы, выбирая между универсальными инструментами и созданием кастомных систем. Подробнее по ссылке.

Читать подробнее: https://habr.com/ru/articles/933844/

#ru

@dot_net_c_sharp | Другие наши каналы
👍4
Новый NuGet-обновлятор в Dependabot ускоряет и улучшает обновление зависимостей .NET, используя нативные инструменты .NET. Это повышает надёжность, уменьшает количество ошибок и поддерживает сложные проекты, сохраняя настройки SDK и совместимость с приватными фидами.

Подробности: https://devblogs.microsoft.com/dotnet/the-new-dependabot-nuget-updater/

#en

@dot_net_c_sharp | Другие наши каналы
Как программист создал Telegram-бота для организации игр с друзьями. Бот помогает планировать игровые сессии и напоминает о них. Проект набирает популярность: более 300 пользователей и почти 100 групп. Автор делится опытом продвижения и развития своего пет-проекта. Как продвигать игровые боты: опыт и трудности

Автор делится неудачами в продвижении своего бесплатного игрового бота через платформы Хабр, DTF, Пикабу, Reddit и StopGame. Несмотря на старания, модерация и отсутствие отклика мешают росту аудитории. Бот не покорил массы, но приносит пользу друзьям. Автор поделился опытом создания и продвижения бота, который так и остался нишевым, но помогает не забывать о совместных играх. Хотите попробовать или помочь с идеями?

Читать подробнее: https://habr.com/ru/articles/934016/

#ru

@dot_net_c_sharp | Другие наши каналы
👎1