Pull to refresh
30
0
Фофанов Илья @EngineerSpock

Ответственный программист

Send message

А еще в Visual Studio есть External Tools…

Reading time4 min
Views5.2K
Забавно, но я долгое время считал, что возможность запуска сторонних приложений из Visual Studio не заслуживает внимания. Серьезная интеграция требует разработки plugin, и точка!

Как оказалось, я был неправ. Есть множество сценариев, когда External Tools позволит быстро расширить возможности Visual Studio.

Как раз вчера мой хороший знакомый задал вопрос – как сделать аналог команды Open Containing Folder из пакета PowerCommands for Visual Studio 2010, но для вызова Far Manager, а не Windows Explorer? В оригинале эта команда доступна в контекстном меню Solution Explorer, она открывает Windows Explorer и устанавливает курсор на файл, для которого она была вызвана.

Моя первая идея (нет ничего проще – нужно скачать PowerCommands.vsix из Visual Studio Gallery, распаковать его, разобрать на части Reflector’ом, обложиться руководствами по расширению Visual Studio и быстро написать аналог) понимания не нашла – написание plugins для Visual Studio (если это не расширения редактора) по-прежнему остается весьма нетривиальной задачей, и если нет опыта, то даже при наличии примеров и пошаговых руководств ее решение займет не меньше, чем полдня – если не целый день!

Еще немного подумав, я решил, что для этих целей вполне подойдет механизм External Tools! И, действительно, создание «команды» Open Containing Folder in FAR заняло у меня не более получаса.

Давайте посмотрим, как это можно сделать.
Читать дальше →
Total votes 86: ↑72 and ↓14+58
Comments40

Пакетный менеджер от Microsoft? Да, для Visual Studio 2010

Reading time1 min
Views2.4K
image
Сегодня, вместе с выпуском ASP.NET MVC 3 Beta (анонс на Хабре), была представлена новая разработка Microsoft — консольный пакетный менеджер NuPack.

Этот инструмент интегрируется в Visual Studio 2010 и позволяет с помощью консоли из репозитория Microsoft устанавливать в проекты дополнительные компоненты: библиотеки, скрипты, шаблоны и вообще все, что можно добавить в проекты студии. Пакетный менеджер способен обнаруживать зависимости и автоматически их устанавливать. Соответственно, удаление поддерживается в полной мере. Короме того, NuPack — это проект с открытым исходным кодом.

На видео представлено небольшое превью работы с NuPack: в новый проект с помощью консоли добавляется поддержка логирования с помощью сторонней библиотеки ELMAH, затем демонстрируется GUI-вариант репозитория:



Подробное видео (15 минут) можно найти здесь.

Крайне рекомендую обзор от Скотта Ханселмана (здесь). Загрузить NuPack и получить дополнительную информацию можно со страницы проекта.
Total votes 74: ↑55 and ↓19+36
Comments87

Профилирование приложений в Visual Studio 2010

Reading time6 min
Views46K
Сегодня мы будем замерять производительность нашего приложения с помощью Visual Studio Profiling Tool.

Visual Studio Profiling Tool позволяет разработчикам измерять, оценивать производительность приложения и кода. Эти инструменты полностью встроены в IDE, чтобы предоставить разработчику беспрерывный контроль.
В этом руководстве мы по шагам профилируем приложение PeopleTrax используя Sampling и Instrumentation методы профилирования, чтобы выявить проблемы в производительности приложения.

image

Много картинок.
Читать дальше →
Total votes 63: ↑48 and ↓15+33
Comments24

Опыт использования TFS 2010: (Система контроля.Ветки.Создание)

Reading time4 min
Views8.8K
image
Очень часто мне приходится слышать, что система контроля версий от Microsoft это некий костыль, сделанный на скорую руку. Я постараюсь, если не опровергнуть это, то показать, что со своими задачами эта система справляется. И если даже это и костыль, то очень качественный, цветной, функциональный, легкий и понятный в использовании.
Читать дальше →
Total votes 22: ↑14 and ↓8+6
Comments46

Visual Studio 2010: 4 полезнейших расширения

Reading time3 min
Views15K
image

Буквально на днях для Visual Studio 2010 выпущено два набора официальных обновлений. Первый – Power Tools – нацелен на добавление множества мелких функциональных вещей увеличивающих продуктивность труда. Второй — Modeling Feature Pack добавляет к архитектурным инструментам Visual Studio массу полезных возможностей.

Кроме этих инструментов, в этой статье я расскажу еще о двух полезнейших расширений Visual Studio. Кстати, число расширений в онлайн-хранилище доступном из Extension Manager постоянно растет и уже приближается к 2000 штук.

Читать дальше →
Total votes 92: ↑74 and ↓18+56
Comments31

Автоматизация сборки на .Net с использованием NuGet

Reading time4 min
Views7.7K

Что имелось вначале


Крупная enterprise-система, являющаяся основной платформой компании. В состав входит ядро системы и набор плагинов под разные задачи. Плагины развиваются независимо друг от друга, требуют внесения изменений и расширений в общие библиотеки.

При развитии и ветвлении системы нахождение всех плагинов в общем проекте усложнило поддержку кода. Постоянно существовало несколько веток в репозитории, что приводило к большим трудностям при подготовке релизов и слиянии изменений.

Поэтому было принято волевое решение создать инфраструктуру и настроить сценарии для автоматизации сборки проекта под разные плагины.

При решении задачи использовались следующие инструменты: NuGet, TeamCity, NAnt, Visual Studio 2010, SlowCheetah.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments11

Альтернативная проверка предусловий в Code Contracts

Reading time4 min
Views3.8K
При попытке использования библиотеки Code Contracts в реальном проекте может возникнуть небольшая сложность: хотя сам класс Contract с методами проверки предусловий и постусловий, располагается в mscorlib начиная с 4-й версии .NET Framework, но без установки самой библиотеки Code Contracts, они не попадают в результирующую сборку.

Это может вызвать определенные сложности в крупных распределенных командах, поскольку для нормального использования контрактов всем разработчикам придется установить дополнительное расширение. А поскольку у ключевых людей проекта может не быть четкой уверенности в том, а нужно ли вообще нам это добро, то такой переход может быть затруднительным.

Однако Code Contracts поддерживает дополнительный «режим совместимости», который позволяет «жестко зашить» проверки предусловий в результирующий код, так что они будут видны всем, не зависимо от того, установлены контракты на машине разработчика или нет.
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments0

Размеры CLR-объектов. Точное определение

Reading time5 min
Views28K
Думаю, многим разработчикам на управляемом коде всегда интересовало: сколько же байт занимает экземпляр объекта? А каков лимит размера одного объекта в CLR? Существуют ли различия в выделении памяти между 32-битными и 64-битными системами? Если данные вопросы для Вас не пустой звук, тогда прошу под кат.
Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments26

SqlBulkCopy — безбашенная загрузка больших данных или как оседлать дикую лошадь (C#)

Reading time8 min
Views42K

SqlBulkCopy — это эффективное решение для массовой загрузки данных в таблицы Microsoft SQL Server. Источник данных может быть любой, будь то xml-файл, csv-файл или другая СУБД, например MySQL. Достаточно получить из источника данные в виде объекта DataTable или реализовать интерфейс IDataReader поверх методов доступа к данным.

Вам не придется создавать файлы на диске для дальнейшей их загрузки с помощью утилиты BCP, вам не придется писать код для генерации множественных INSERT запросов. При загрузке данных SqlBulkCopy работает на более низком уровне, позволяя вставлять миллионы записей за максимально короткий срок.
Читать дальше →
Total votes 40: ↑32 and ↓8+24
Comments8
12 ...
13

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity