• Должны ли dll’ки из nuget пакетов автоматически копироваться во все проекты с косвенными ссылками в VisualStidio?

    Razbezhkin
    @Razbezhkin Автор вопроса
    программист, преподаватель
    Я провел эксперимент: в решении два проекта, первый проект (.net standard 2.0) ссылается на nuget пакет, второй проект (.net framework 4.7.2) ссылается на первый. Построение решения происходит успешно, но при запуске второго проекта возникает ошибка: не удалось загрузить сборку из nuget пакета. от сюда вывод - при построении зависимости из nuget пакетов, которые непосредственно не содержатся в проекте не копируются в выходную папку.

    Еще я нашел статью: https://terryaney.wordpress.com/2018/05/06/msbuild... в которой это подтверждается и решение заключается в использовании MSBuild со своей конфигурацией. А вот подключать nuget пакеты ко всем проектам - подход не самый лучший (хотя самый простой).

    Я продолжил экспериментировать:
    Создал нулевой проект (.net standard 2.0) на который ссылается только первый проект. При построении и запуске второго проекта все зависимости были разрешены, приложение запустилось без проблем.

    И еще один эксперимент:
    Я создал четвертое приложение, но уже .net core 2.1, которое ссылается только на проект 1, и к моему удивление при его сборке и запуске все зависимости, включая nuget пакет были разрешены, запуск произошел успешно.

    Видимо, .net standard и .net core проекты строятся не так, как это делают .net framework проекты.
    Ответ написан
    2 комментария
  • C# (winform) как засунуть async и await в мой код?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    1 - совет - не дергайте сборщик мусора по мелочам. этим вы гарантированно ухудшаете время выполнения. в то же время он и сам великолепно справится, пока вы будете рассматривать результат

    2 - осваивайте binding к внешним объектам. Windows Forms DataGridView это умеет https://docs.microsoft.com/ru-ru/dotnet/framework/...

    в простейшем случае можете потренироваться на кошечках попробовать массивы/списки (а можно и Entity Framework подтянуть, там есть вариант БД "in memory". но только если есть данные загружаемые из внешних БД, или сохраняемые в БД.. хотя EF уже весь на async/await "из коробки")

    3 - binding из бавит вас от рукопашного создания/удаления строк DataGridView. это тяжеловестные операции, учитывая что речь о визуальных эелементах

    краткое резюме - binding к массивам/спискам/бд, а их обработка во внешних процессах, или PLINQ.. или async/await - что осилите
    Ответ написан
    Комментировать
  • Что нужно знать для работы c API?

    0xc00000e9
    @0xc00000e9
    Скачать Postman
    Ответ написан
    Комментировать
  • Как получить значение с foreach и передать его методу?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    public IEnumerable<string> GetPhotoUrl() =>
                Api
                    .Wall
                    .Get(new WallGetParams
                    {
                        Domain = "lol.community",
                        Count = 2
                    })
                    .WallPosts
                    .Select(item => item.Attachments.FirstOfDefault()?.Instance)
                    .OfType<Photo>()
                    .Select(item => item.Sizes.FirstOfDefault()?.Url.AbsoluteUrl.ToString());
    Ответ написан
    Комментировать
  • Как объяснять кадровикам быстрые смены работы?

    evgensenin
    @evgensenin
    Yii2 || Laravel, vue & nuxt
    предлагаю пробовать различные варианты при собеседованиях и анализировать. скорее всего у вас плохая "HR" история и вас будут сливать первый эшелон менеджеров HR .
    Предлагаю врать при собеседованиях (как минимум не говорить что вас слили на ТРЕХ предыдущих работах за ТАКОЕ короткое время), приукрашать, придумывать логичную историю-легенду (например, пет-проджет или стартап, или путешествовал полгода), больше говорить про свои навыки, ничего плохого про работодателей не говорить, быть позитивным и улыбаться.
    Задайтесь ЦЕЛЬЮ найти ХОРОШЕГО работодателя. и сделайте всё для достижения этой цели. если будут снова сомнения в работодателе или начальнике - лучше продолжайте поиски, зачем вам еще один шок от 4 неудачной попытки.
    Ответ написан
    1 комментарий
  • Хороший видео-курс по Go?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Хороший и видео - это взаимоисключающие понятия. Прочитайте лучше учебник.
    Ответ написан
    20 комментариев
  • List c# нужно найти не одинаковые элементы, как это сделать?

    @lil_Toady
    Думаю подойдет Except:
    var diff = current.Except(expected);

    Это выдаст элементы из current, которых нет в expected.

    Можно так же и в обе стороны, чтобы получить элементы которые не пересекаются из обоих списоков:
    var diff = current.Except(expected).Union(expected.Except(current));


    Если для сравнения элементов нужна какая-то особая логика, то нужно будет так же внедрить IEqualityComparer и передавать аргументом в Except.
    Ответ написан
    1 комментарий
  • Подготовка к собеседованию по инглишу?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Курсы, хорошие курсы английского языка с носителями. Уровень поднимайте до максимально возможного.

    Это не быстро. Но, быстрого вариант и не существует, насколько мне известно. Вы либо владеете языком, либо нет. То что вы описали -- это не какие-то специальные навыки.

    Сейчас до собеседования волноваться не стоит. Если компания, в которую вы проходите собеседование -- средней руки аутсорсер и/или не самый денежный проект, то собеседование вы считай прошли (ну может недостаточный уровень английского станет поводом вам меньше платить). Если крупный аутсорсер и/или серьёзный проект, то нет.
    Ответ написан
    Комментировать
  • Кто разъяснит строчку из C# кода?

    @lil_Toady
    Методу Enum.Parse нужно знать тип enum'а, чтобы понять список возможных значений. Для значений не входящих в перечисление будет выкинуто исключение ArgumentException.

    В перечисление DayOfWeek соответственно входят входят Sunday, Monday, Tuesday, Wednesday, Thursday, Friday и Saturday, если введенная вами строка в консоль не будет соответствовать одному из этих значений, то получите исключение.

    В последних версиях стандарта это же самое можно достичь более простым способом, передавая нужный тип как generic аргумент, и не приходится делать приведение типа:
    favDay = Enum.Parse<DayOfWeek>(Console.ReadLine());

    Думаю такая запись и проще для понимания при чтении кода :)
    Ответ написан
  • Кто разъяснит строчку из C# кода?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    гугл
    - запрос
    - первая же строка выдачи
    .. а еще короче - в VisualStudio, на слове Parse в конструкции Enum.Parse можно нажать F1 (попадете туда же, ну или с коррекцией на версию дотнет и язык)
    Ответ написан
    7 комментариев
  • Как выбрать структуру 2d программы?

    Adamos
    @Adamos
    Я создал класс объектов, (например теплообменник) он имеет свойства на основании которых производится расчёт (например КПД) . И свойства на основании которых происходит отрисовака ( например положение при отображение (коардинаты x, y)) не уверен, что я сделал корректно.

    Создаете абстрактный класс "элемент расчета" с общим для всех элементов интерфейсом. Создаете базовый класс "графический элемент" с общим интерфейсом рисования.
    Создаете класс "элемент рисования", свойства которого - координаты и ссылки на элемент расчета и соответствующий ему графический элемент.
    Отрисовщик имеет массив элементов рисования, обходит их и один за другим отрисовывает, вызывая нужные функции графического элемента, который может обратиться за параметрами к элементу расчета. Важно, что элемент расчета ничего не знает ни о каком рисовании, а графический элемент знает не больше, чем нужно для отрисовки именно его картинки.
    Все элементы расчета и рисования представлены в виде классов-наследников тех абстрактных классов и обрабатываются единообразно - отрисовщик вообще не видит между ними различий, они убраны в класс графического элемента.
    Примерно так...
    Ответ написан
    2 комментария
  • В какие языки транслируется F#?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    https://fable.io/
    и похоже вполне себе активный
    https://github.com/fable-compiler/Fable

    ps
    И важно чтобы он именно транслировался в натив
    а тут надо как то вернуться к реалиям .Net RunTime

    все .Net компилируется либо в .Net RunTime, а там есть Ngen (хотя если копнуть вариаций гораздо больше, тот же Unity со своим модифицированным Mono и IL2CPP)

    но F# компиленный js, будет работать там, где работает js - бро, или нода
    Ответ написан
    6 комментариев
  • Как вывести текст в форму в windows forms?

    Lucian
    @Lucian
    https://t.me/MakeFreelance
    Комментировать
  • Почему возникает System.Data.OleDb.OleDbException?

    @fanat_96
    У Вас в запросе столбец неправильно написан. На скрине "Criteria", а в запросе "Criretia"
    Советую выполнять запросы в СУБД, а уже оттуда копировать в код. Так будет проще найти ошибку в следующий раз.
    Ответ написан
    Комментировать
  • Какие типы изображений поддерживает iText?

    @iText_Q Автор вопроса, куратор тега iText
    . iText поддерживает изображения форматов JPEG, JPEG2000, GIF, PNG, BMP, WMF, TIFF, CCITT и JBIG2. Это не значит, что эти типы изображений также поддерживаются в PDF. Если определенный тип изображения (например, PNG) не поддерживается в PDF, iText конвертирует его в тот тип изображения, который определен в спецификации PDF.

    •Изображения формата JPEG хранятся в iText в исходном виде. Можно взять потоковое содержимое Image XObject формата JPEG, скопировать его в файл, и у вас получится правильное изображение в формате JPEG. Следующий фильтр позволяет распознать эти изображения: /DCTDecode.

    •Формат JPEG2000 поддерживается с версии PDF 1.5. Название фильтра — JPXDecode.

    •PDF поддерживает изображения со сжатием LZW (оно используется для GIF-изображений), но iText декодирует GIF-изображения в изображения RAW. Если создать Image с помощью iText и указать путь к GIF-файлу, то в PDF-файле получится изображение с фильтром /FlateDecode.

    •Изображения в формате PNG не поддерживаются в PDF-файлах, поэтому iText декодирует PNG-изображения в RW. Если пространство цветов изображения DeviceGray и имеет 1 бит на компонент, то будут использованы метод сжатия CCITT и фильтр /CCITTFaxDecode. В обратном случае будет использован фильтр /FlateDecode.

    •BMP-файлы хранятся в группе сжатых пикселей с использованием фильтра /FlateDecode.

    •С форматом WMF ситуация особая. Если вставить WMF-файл в PDF-документ с помощью iText, то iText конвертирует изображение в синтаксис PDF. iText создаст объект Form XObject вместо добавления Image XObject.

    •Когда данные изображения кодируются с использованием факсимильного стандарта CCITT, используется фильтр /CCITTFaxDecode. Это обычно монохромные изображения с одним битом на пиксель.

    •Помимо этого, в iText могут обрабатываться TIFF-файлы. В зависимости от параметров TIFF-файлов iText решает использовать /CCITTFaxDecode, /FlateDecode или даже /DCTDecode в качестве фильтра.

    •Для JBIG2 используется фильтр /JBIG2Decode.

    Обычно с форматом изображений сложности не возникают. Класс Image сам выбирает правильный метод сжатия.

    Дополнительная информация. PDF-файлы поддерживают прозрачность, однако стоит помнить, что прозрачные изображения не поддерживаются в PDF. Одно изображение, содержащее прозрачные области, может быть конвертировано в два разных изображения.
    1. Непрозрачное изображение.
    2. Маска изображения.
    Все это происходит в самом PDF-файле. Если добавить прозрачное изображение в PDF-файл, то его нельзя будет оттуда экспортировать. Придется выгружать два изображения: непрозрачную версию и маску.
    Ответ написан
    Комментировать
  • Как выучить "программистский" английский?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Просто берёшь англоязычную книгу и читаешь с Google Translate. Книг через десять Google Translate сам отвалится.
    Ответ написан
    9 комментариев
  • В чем заключается Binding в данном пример?

    @IartanisI Автор вопроса
    Решил данную проблему. Оказалось все проще. NameTextBox.ItemsSource = GetData();
    Ответ написан
    1 комментарий