В большинстве случаев, для написания сколько-нибудь ценной программы приходится использовать сторонние разработки. Чаще, и проще всего подключить их как ссылка по файлу. В таких случаях, при возникновении ошибки стек вызова покажет такой код как внешний. Но что делать, если именно в этом коде возникла ошибка, и есть желание узнать что к чему?
Продолжить чтение "Отладка сторонних библиотек в Visual Studio" »
В этом посте я расскажу о моем адаптере для SQLite, который использовался в проекте YoutubeView. SQLite — это база данных, которая сохранаяется в одном файле. Такой способ подходит, наприемер, для оконных приложений (где в силу каких-либо причин не хочется использовать Access). CRUD — сокращение от Create, Read, Update, Delete. Это набор класс, работающий с данными базы […]
Вот и закончился MIX09. Он принес много интересных новостей в развитии .NET и Microsoft. Сам я конечно там не был, но внимательно следил за новостями.
Несколько месяцев на блоге висел опрос о том, какой инструментарий используют посетители сайта, работающие на .NET. По результатам у меня возникло ощущение, что многие просто не знают или не понимают, что я имел в виду. Сейчас я попробую заполнить этот пробел.
Часто возникает потребность отфильтровать одинаковые элементы в списке. В LINQ есть метод Distinct, который получает интерфейс IEqualityComparer. Не совсем понятно, почему метод не может получать lamda-выражение. Следующий код должен исправить положение:
Microsoft предоставляет несколько способов для решения этой задачи. Все они требуют предустановленного Office соответствующей версии. Автоматизация Excel или другого Office приложения с помощью interop (m_objExcel = new Excel.Application();). Доступ к файлу через ODBC (об этом методе пойдет речь в этой статье). Использование OpenXML SDK (только для Office файлов с окончанием «X» — xlsx, docx).
Во время написания своего диспетчера обновлений, наткнулся на одну задачку. Версия последнего обновления сравнивается с версией самого приложения и если последняя устарела, должна осуществятся замена файла с сервера. Оказалось, что проблема не тривиальна, за исключением тех, кто держит все классы и «неймспейсы» .NET в голове.
Продолжить чтение "Версия .NET сборки без блокирования файла." »
При создании более или менее сложных приложений для Windows. Неизбежно возникает проблема организации доступа к данным из разных потоков. В Windows.Forms это выглядит так: Cross-thread operation not valid: Control ‘textBox1’ accessed from a thread other than the thread it was created on. В WPF это выглядит так: System.InvalidOperationException: The calling thread cannot access this object […]
Продолжить чтение "Мультипоточность в Windows.Forms и WPF" »
Adobe Flash, или компонент Shockware Flash встроить в форму относительно легко. Точнее, также легко как и любой другой ActiveX компонент. Тем не менее, этот процесс не защищен от проблем, например, таких: Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
В прошлом году мне посчастливилось поучаствовать не лекциях (или конференции, кому как нравится) под названием Live Services JumpStart 2009. Обсуждались такие темы как Live Services, Mesh и немного Azure. Последняя является, так сказать, средой для запуска приложений в вычислительном облаке.
Продолжить чтение "Azure, Mesh и Live Services от Microsoft" »