@max630

Тег .net в блоге max630

max630

можно ли в xaml описать свой класс, с новыми пропертями?

У меня окошко с кучей полей. Я пытаюсь сделать ему DesignTimeData. Все пишут что надо в xaml инстанциировать свою ViewModel, как-то заполнять её данными. Но у нас тут такая модель что в DesignTime её не получается инстанциировать. Пока лучшее что я придумал это сделать фейковую модель и её уже заполнять. Но это как-то криво, по-моему. По хорошему, если у нас утиная типизация и всё работает через рефлекшен, наверное можно сделать как-то так чтобы этот рефлекшен видел список пропертей, которые можно в рантайме менять в зависимости от того как класс ициализирован. Я нагуглил какой-то ICustomTypeDescriptor, но никакой готовой к использованию реализации на нашёл (есть абстрактные классы), всё равно надо что-то своё наследовать,

#igolw
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
max630

У меня такая ситуация. Короче, у нас есть некая общая шина, где вызывается метод через Invoke(). Потом этот метод в какой-то момент зовёт нативный код, который и делает всю работу. Если нативный код крешится, по идее это должно превратиться в исключение и улететь в самый верх и привести к падению программы. При этом в дампе должен быть стек до места падения. И есть проблема - Invoke() ловит все исключения и заворачивает их в TargetInvocationException, где внутреннее исключение записано как InnerException. Но нативный стек при этом не сохраняется - он же недоступен в рантайме. В итоге у нас есть стек до места входа в нативный код, который практически бесполезен.

Как это можно было бы пофиксить?

#icezq 7
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
max630

msdn говорит про bindingRedirect "When you build a .NET Framework application against a strong-named assembly, the application uses that version of the assembly at run time by default, even if a new version is available. However, you can configure the application to run against a newer version of the assembly". То есть, если мы уже собираем софт, иметь эти редиректы в app.config не нужно, вместо этого надо исправить сам референс.
я правильно рассуждаю?

#icgpn
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
max630

Я может задавал уже вопрос, но забыл. Есть ли какой-нибудь профит от того что берешь либу собранную для, например, .net4.5.1 вместо .NET 4.0?

#vrpoh
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
max630

A можно сделать чтобы вот это: https://msdn.microsoft.com/...ibrary/ms182310.aspx проверялось при вызове моего кода тоже?

#ovrfrz
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
max630

как смотреть документацию в дотнетовских библиотеках? в ildasm не могу найти.

#ovrkkt 1
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
max630

есть API или скриптуемый дебуггер для дотнета? Или научите меня пользоваться mdbg, он на простейшем дампе пишет какую-то хуйню про то что активный тред не найден и ничего по факту не грузит.

#ovyrdn
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
max630

есть ли вызов для проверки существования файла или директории, без конкретизации что это? Я подозреваю File.Exists() делает дополнительный stat или что там, чтобы убедиться что это файл, и это слишком медленно. Если прочитать раз директорию с EnumerateFiles и потом просто проверять, получается быстрее, но это костыль же.

#ovnbtk 1
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
max630
#tssdx
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
max630

как создать файл с O_EXCL?

#tuwke
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
max630

Я хочу попробовать избавиться от GAC для разработки. Есть ли готовые программки/библиотеки/whatever, которые прописывают dll в exe.config файлы? И длл, и екзешек в проекте много, хотелось бы автоматизировать.

#ntjio
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.