В сервисе, который перемещал по полученному сообщению директорию из одного места в другое, часто была ошибка перемещения. Самая распространенная - файл в директории кем-то открыт. Вопроса два - какой файл и кто держит.
(далее...)В сервисе, который перемещал по полученному сообщению директорию из одного места в другое, часто была ошибка перемещения. Самая распространенная - файл в директории кем-то открыт. Вопроса два - какой файл и кто держит.
(далее...)В очередной раз мне нужно сделать экспорт в Excel. И на этот раз есть требования к шаблону - цвета, форматирование и прочее. Не так давно я реализовал экспорт в Excel с помощью пакета XLSX для React, но он был отрисован на клиенте. Это решение хорошо, но имеет много ограничений. В частности, в бесплатной версии нельзя было использовать форматирование. Да и генерировать большие объемы на клиенте не очень хорошо. Поэтому я начал искать другое решение.
(далее...)Для отслеживания изменений в списке файлов решил написать утилиту, которая будет каждый день записывать дерево папок и файлов, а потом сравнивать с предыдущим значением. Пока думал, как написать рекурсивную функцию по построению дерева, нашел более просто решение.
(далее...)Сегодня вылезла бага в одном моем решении для SharePoint online – модуль выводил только первые 100 элементов. Круглое значение меня насторожило еще больше, чем мысль о щепетильности заметившего ошибку – это ж надо было посчитать количество записей 🙂 Но надо воспроизвести и исправить.
(далее...)На моей VPS не очень много места, потому за установленным ПО приходится следить. Недавно на VPS обновили операционку до 11 Debian, потому стало возможным запускать на ней программы для Net 6!! Ich bin glucklich, ja! Я счастлив в общем 🙂
Чтобы вынести настройки приложения в отдельный конфигурационный файл и получать данные из него в консольном приложении .Net (.Net 6, 7 точно), нужно установить из Nuget 2 пакета + зависимости, которые они с собой подтянут. Это можно сделать через Package-Manager в Visual Studio или через консоль dotnet.
(далее...)Чтобы сгенерировать контекст для существующей базы данных на SQL сервере, нужно добавить в решение несколько пакетов и выполнить команду для скаффолдинга:
NuGet\Install-Package Microsoft.EntityFrameworkCore
NuGet\Install-Package Microsoft.EntityFrameworkCore.SqlServer
NuGet\Install-Package Microsoft.EntityFrameworkCore.Tools
NuGet\Install-Package Microsoft.Extensions.Configuration
Не так часто создаю новые проекты, потому каждый раз надо куда-то подглядывать. А тут решил опубликовать домашнее задание на гитлабе, причем сначала сделал проект, а потом решил его опубликовать.
(далее...)Каждый IT специалист когда-то сталкивался с автоматизацией через Excel. Excel – отличный инструмент для мелких автоматизаций, вычислений, даже для небольших баз данных. Все до момента, когда эта для решения на Excel не встает вопрос одновременной многопользовательской работы.
(далее...)Для консольной утилиты в решение надо добавить Microsoft.SharePoint.Client, которая находится в библиотеке Microsoft.SharePoint.Client.dll и Microsoft.SharePoint.Client.Runtime.dll. Далее пример кода и несколько особенностей использования.
(далее...)