@CSharpChatЭта группа больше не существует

Страница 1521 из 1888
kirill
19.07.2017
16:49:29
/stat@combot

Combot
19.07.2017
16:49:29
combot.org/chat/-1001066857984

Ilya
19.07.2017
17:06:26
А в чем проблема стронг неймов?

Nikita
19.07.2017
17:08:10
ну вот смотри

Google
Nikita
19.07.2017
17:08:16
есть либа такая

json.net

на неё ссылается либы А, B и C

и каждая из них хочет СВОЮ версию

а твой проект вообще хочет фичи из последней

с точки зрения CLR -к это 4 разных либы newtonsoft.json.dll

с разными стронгнеймами

и при попытке передать JSON-объект из своего проекта в либы А, В и С

у тебя случается либо бубух в виде ошибки компиляции

либо бубух в рантайме из-за не той версии либы

для этого придуман костыль в виде bindingRedirect

который заставляет CLR грузить вместо определённых версий конкретную нужную

а вот теперь осознай, что у тебя граф зависимостей из 200 пакетов

Google
Nikita
19.07.2017
17:10:35
и там зоопарк версий

и ты получаешь app.config размером в полмегабайта

Ilya
19.07.2017
17:10:50
с разными стронгнеймами
А что, биндинг редирект уже не в моде?

Nikita
19.07.2017
17:11:01
текст не читай @ сразу отвечай

Ilya
19.07.2017
17:11:15
Да я с телефона

А ты быстро печатаешь

Это нечестно в интернете

Nikita
19.07.2017
17:11:47
самое забавное в том, что этот App.config лежит в системе контроля версий

ещё забавнее, когда у тебя транзитивные зависимости нормально нугет не прожевал

в итоге ад, боль, стыд, унижение, моральные муки

Ilya
19.07.2017
17:14:12
Да ну, а если тебе нужна специфическая сборка, а в будущих версиях нет такого апи и без строгих имён ты такой бабах, мисинг метод

А так, дай сюда вот такую версию, с которой все работает

Igor
19.07.2017
17:15:01
у тебя случается либо бубух в виде ошибки компиляции
И это же хорошо, в 9 java терпеть так же (хотя там в рантайм) Если у тебя такой код, то ты сам виноват

Ilya
19.07.2017
17:15:09
Написал редирект - сам виноват

По моему это классная штука

Nikita
19.07.2017
17:17:35
>Если у тебя такой код, то ты сам виноват используешь обратно-совместимую либу новой версии?

и в чём-то "виноват"?

у нас жабатролль в чате

Ilya
19.07.2017
17:20:15
и в чём-то "виноват"?
в редиректе, если у тебя не работает новая версия библиотеки, вместо старой

Nikita
19.07.2017
17:41:48
сейчас вот активно ловим проблемы с System.ValueTuple

Google
Летучая
19.07.2017
18:07:29
у жабы вечно хрень какая-то с библиотеками

юзал жабу когда мавен был модный (год 2014 наверно), плевался

Anatoly
19.07.2017
18:13:08
Мне на работе приходится с жабой работать. Пока не поймал проблем с мавеном

Летучая
19.07.2017
18:13:17
сейчас вот активно ловим проблемы с System.ValueTuple
когда его уже в стандартную поставку включат? даже netstandard1.6 хочет пакет из нугета

Nikita
19.07.2017
18:17:53
ControlCatalog.Android -> C:\Users\keks\Projects\GitHub\Perspex\samples\ControlCatalog.Android\bin\Release\ControlCatalog.Android.dll C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1399,2): error : Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assem bly 'System.ValueTuple, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Perhaps it doesn't exist in the Mono for Android profile?\r [C:\Users\keks\Projects\GitHub\Perspex\samples\ControlCatalog.Android\Co ntrolCatalog.Android.csproj] C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1399,2): error : File name: 'System.ValueTuple.dll'\r [C:\Users\keks\Projects\GitHub\Perspex\samples\Contr olCatalog.Android\ControlCatalog.Android.csproj] C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1399,2): error : at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference re ference, ReaderParameters parameters)\r [C:\Users\keks\Projects\GitHub\Perspex\samples\ControlCatalog.Android\ControlCatalog.Android.csproj] C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1399,2): error : at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(DirectoryAssemblyReso lver resolver, ICollection`1 assemblies, AssemblyDefinition assembly, Boolean topLevel)\r [C:\Users\keks\Projects\GitHub\Perspex\samples\ControlCatalog.Android\ControlCatalog.Android.csproj] C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1399,2): error : at Xamarin.Android.Tasks.ResolveAssemblies.Execute(DirectoryAssemblyResolver resolver) [C:\Users\keks\Projects\GitHub\Perspex\samples\ControlCatalog.Android\ControlCatalog.Android.csproj]

занавес

замариновская таска упала, не найдя ValueTuple

Igor
19.07.2017
18:18:48
Я одно не пойму, почему тюплы сразу структурами не сделали?

Ilya
19.07.2017
19:12:57
Я одно не пойму, почему тюплы сразу структурами не сделали?
Возможно подумали, что туплы будут использоваться для передачи параметров в методы, а это лучше делать на ссылочных типах

Анатолий
19.07.2017
20:11:04
Доброго вечера всем. Пожалуйста подскажите, если кто-нибудь пользовался npoi для генерации документов Word - как правильно добивать таблицу строками? Выполнение библиотеки происходит успешно, но при открытии Word ругается на word/document.xml. Понимаю, что либа неправильно формирует документ, но вопрос в том, как правильно. Я формирую так: long _total = _total_records.Count; string _filename = $"Справка с {_dt_begin:D} по {_dt_end:D}.docx"; XWPFDocument _report; using (Stream _stream = new FileStream("Report.docx",FileMode.Open,FileAccess.Read)) { _report = new XWPFDocument(_stream); } XWPFTable _table = _report.Tables[0]; foreach (var _record in _total_records) { XWPFTableRow _new_row = _table.CreateRow(); var _name_cell = _new_row.GetCell(0); var _code_cell = _new_row.GetCell(1); var _class_cell = _new_row.GetCell(2); var _count_cell = _new_row.GetCell(3); _name_cell.SetText(_record.Name); _code_cell.SetText(_record.Code); _class_cell.SetText(_record.Class); _count_cell.SetText(_record.Count.ToString("F20").TrimEnd('0')); } using (Stream _new_stream = new FileStream(_filename, FileMode.Create, FileAccess.ReadWrite)) { _report.Write(_new_stream); }

Dmitriy
19.07.2017
20:20:20
И как вообще принимается с# сообществом такая нотация наименования переменных когда в начале идет подчерк?

Летучая
19.07.2017
20:24:08
в коде выше не нужны

юзаются только для глобальных переменных

Admin
ERROR: S client not available

Летучая
19.07.2017
20:24:25
по конвеншонам

Виталич
19.07.2017
20:24:36
разве?

ни разу не видел глобальных переенных в таком виде

наоборот, переменные private

Летучая
19.07.2017
20:25:42
ну

Google
Летучая
19.07.2017
20:25:52
щитай глобальные переменные и есть :)

Виталич
19.07.2017
20:26:03
окау ;)

Летучая
19.07.2017
20:26:30
но это верное замечание! приватные поля класса

Vlad
19.07.2017
20:27:21
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/

Му
19.07.2017
20:28:48
а в студии есть встроенная палилка того, как ты соблюдаешь гайдлайны?

Летучая
19.07.2017
20:29:30
X DO NOT assign instances of mutable types to readonly fields. A mutable type is a type with instances that can be modified after they are instantiated. For example, arrays, most collections, and streams are mutable types, but System.Int32, System.Uri, and System.String are all immutable. The read-only modifier on a reference type field prevents the instance stored in the field from being replaced, but it does not prevent the field’s instance data from being modified by calling members changing the instance.

Анатолий
19.07.2017
20:32:35
И палилка, и по жопе лупилка

И коммитить не давалка

Combot
19.07.2017
20:33:05
combot.org/chat/-1001066857984

Alexander
19.07.2017
20:33:07
:D

Анатолий
19.07.2017
20:38:25
в коде выше не нужны
Ну, я привык все, что в области локальной видимости процедуры/класса именовать с земли.

Му
19.07.2017
20:39:01
Летучая
19.07.2017
20:39:04
Это из какого языка такая привычка?

Dmitriy
19.07.2017
20:39:55
Обычно в си или плюсах так ииенуют

Анатолий
19.07.2017
20:40:26
Это из какого языка такая привычка?
Уже и не вспомню :) Может из рельсов?

Му
19.07.2017
20:41:04
а вы всегда соблюдаете правила? просто я сужу по себе - у меня он постоянно меняется и сейчас, когда смотрю свой старый код, удивляюсь

Nikita
19.07.2017
20:44:05
Обычно в си или плюсах так ииенуют
в плюсах так поля именуют

а в си "приватные" функции системных библиотек

которыми не предполагается пользоваться напрямую

Страница 1521 из 1888

Эта группа больше не существует Эта группа больше не существует