Удаленная отладка в Visual Studio 2005

Август 3rd, 2007

На днях угробил порядка 4 часов своей драгоценной жизни на то, чтобы обеспечить возможность удаленной отладки программы, запускаемой на виртуалке. Представленный ниже сценарий является результатом этих «танцев с бубном», поэтому не претендует ни на полную достоверность, ни на необходимость выполнения всех пунктов. Это, с одной стороны, памятка лично мне, а с другой – вдруг кому пригодится?

Итак, имеем следующую ситуацию. Стенд разработки и отладки состоит из 3 машин:

  1. WXP-HOST – основная машина (в моём случае это был ноутбук). На ней установлена Windows XP Pro SP2, Visual Studio 2005 и система виртуализации (Virtual PC/Server или VMWare, это не важно). Не является членом домена.
  2. VR-DC – виртуальная машина – контроллер домена DOM1. ОС Windows Server 2003.
  3. VR-2K – виртуальная машина – член домена DOM1. ОС Windows 2000 Pro SP4. Именно на этой машине должна производиться отладка.

Все 3 машины находятся в рамках одной сети, видят и пингуют друг друга. Это исходные условия, теперь перейдем к самому процессу настройки.

  1. На WXP-HOST отключаем все файрволы. Формально это не обязательно, в MSDN написано, какие порты надо открывать. На практике же возиться с встроенным XP’шным файрволом нет никакого желания. Если на машине, где предстоит запускать программу для отладки, стоит Windows XP SP2, то так же отключаем файрвол.
  2. Создаем учетным записи.
    1. Предположим, что на WXP-HOST я работаю под учетной записью WXP-HOST\Dmitriy.
    2. В домене создаем учетку DOM1\Dmitriy с тем же паролем, что и WXP-HOST\Dmitriy (здесь и далее, у одноименных учетных записей должны быть одинаковые пароли!). Заносим её в группу администраторов (Domain Admins).
    3. Локально на VR-2K создаем локальную учетную запись VR-2K\Dmitriy, заносим её в группу локальных администраторов (Administrators).
  3. Настраиваем политики безопасности в домене и на локальных машинах.
    1. На контроллере домена, в Administrative Tools запускаем Domain Security Policy. Далее Security Settings (корень) -> Local Policies -> Security Options -> Network access: Sharing and security model for local accounts. Выбираем Classic – local users authenticate as themselves.
    2. На недоменной машине (WXP-HOST) те же настройки доступны через Control Panel -> Administrative Tools -> Local Security Policy.
  4. Настраиваем DCOM на машине, где будет запускаться отладочная программа. Запускаем dcomcnfg. Для Win2K во вкладке «Безопасность по умолчанию» даём локальным и доменным админам все возможные права. Для WinXP: Component Services -> Computers -> My Computer -> Properties -> COM Security -> Access Permissions -> Edit Limits. Дать права всем заинтересованным лицам, т.е. тем же админам. В крайнем случае, может потребоваться дать права Remote Access ANONYMOUS LOGON’у.
  5. Устанавливаем на отладочной машине (VR-2K) монитор удаленной отладки (в дистрибутиве Visual Studio в папке vs\Remote Debugger\x86 для 32-битной платформы). Принципиальной разницы между запуском его в контексте службы или в интерактивном режиме нет, но мне удобнее пользоваться службой. В любом случае, монитор должен быть запущен в контексте локальной учетной записи (в рассматриваемом сценарии – VR-2K\Dmitriy). Таким образом, у этой учетки должны быть права Logon as Service. Это настраивается либо в Local Security Policy, либо автоматически при настройке учетной записи службы.

После этих телодвижений удаленная отладка на моём стенде заработала.

Еще раз скажу, что всё, описанное выше, это результат танцев с бубном в течении 4 часов. Не факт, что все настройки обязательны. Можно не отключать файрволы, а аккуратно открыть на них необходимые порты. В общем, вариантов много, я лишь привел тот, который для моей конфигурации оказался работоспособным.

Technorati Tags: ,

Visual Studio Orcas Beta 2

Июль 27th, 2007

Сегодня была объявлено о выходе второй беты Visual Studio 2008 (Codename Orcas, внутренняя версия 9.0). VS 2008 включает в себя .NET Framework 3.5 (пока тоже Beta 2), а значит и поддержку множества интересных новых технологий, среди которых:

  • LINQ – языковое расширения запросов к данным.
  • ADO.NET Entity Framework – ORM-решение для ADO.NET.
  • Acropolis – построение композитных Windows-приложений.
  • Astoria – REST-вебслужбы (с сериализацией данных в т.ч. в JSON).

В состав дистрибутива входит, помимо самой Visual Studio, SQL Server Express 2005 (рискну предположить, что в финальной версии будет SQL Express 2008) и SQL Server Compact 3.5 (для установки на клиентские рабочие станции, таблетки и КПК). Стоит так же отметить, что VS 2008 Beta 2 имеет лицензию «Go-Live», т.е. строить с её помощью коммерческие продукты и решения вы можете уже сегодня. Для скачивания доступны следующие версии Visual Studio:

  • Visual Studio 2008 Standard Edition Beta 2
  • Visual Studio 2008 Professional Edition Beta 2
  • Visual Studio Team System 2008 – Team Suite Beta 2
  • Visual Studio Team System 2008 – Team Foundation Server Beta 2
  • Visual Studio Team System 2008 – Test Load Agent Beta 2
  • MSDN Library for Visual Studio 2008 Beta 2

Помимо этого, вы можете скачать виртуальные машину (в формате Virtual PC/Server) c предустановленными Visual Studio Team Suite или с Team Suite и Team Foundation Server. Не может не порадовать и тот факт, что Microsoft продолжила традицию выпуска Express-версий Visual Studio (абсолютно бесплатных, в т.ч. и для коммерческого использования). Весь набор «экспрессов» так же доступен для загрузки.

P.S. Пусть вас не смущают расширения файлов IMG. Это абсолютно нормальные образы DVD, без проблем монтируются в виртуальные машины и всевозможными эмуляторами DVD-приводов (Daemon Tools и т.п.).

VMRC Plus

Июнь 29th, 2007

Не могу не поделиться ссылкой на замечательную замену тому вебинтерфейсному ужасу, который поставляется вместе с Virtual Server 2005. Знакомьтесь: VRMC Plus. Windows-приложение для управление виртуальными серверами. Предоставляет кучу возможностей, включая drag’n'drop для .vmc, .iso и .vhd файлов, библиотеку сохраненных состояний, скриншоты рабочих столов виртуальных машин и т.д.

Синхронизация списков SharePoint с Excel 2007

Июнь 21st, 2007

Как в анекдотах, «у меня есть две новости, плохая и хорошая».

В Excel 2003 была возможность двусторонней синхронизации между таблицей и списком на SharePoint-сайте. При необходимости поддерживать в актуальном виде список, состоящий из нескольких сотен и более элементов, такая возможность представляется крайне полезной, даже незаменимой.

Плохая новость заключается в том, что почему-то в Excel 2007 нас этой возможности лишили. Т.е. загружать данные из списка можно, а вот двусторонняя синхронизация не поддерживается. По ссылке описан обходной маневр, включающий в себя довольно муторную возню с экспортом и импортом данных, написанием VBA-скриптов и т.п. Но, скорее всего, теперь все это станет не актуально. Почему?

Так вот, хорошая новость: Microsoft выпустил модуль (add-in) для Excel 2007, обеспечивающий нормальную двустороннюю синхронизацию списков. Счастливые обладатели лицензионного Office 2007 могу загрузить его, установить и наслаждаться жизнью. К модулю прилагается поясняющая статья с картинками, подробно иллюстрирующая весь (нехитрый) механизм работы. Единственная проблема состоит в том, что файл с синхронизируемой таблицей должен быть сохранен в формате Excel 97-2003, но с этим, я думаю, можно смириться.

Technorati Tags: ,

SharePoint Learning Kit

Июнь 19th, 2007

Воспользуюсь случаем и рассмотрю пару вопросов, касающихся SharePoint Learning Kit (SLK).

  1. То ли это моя врожденная криворукость, то ли еще что, но при конфигурации SLK для коллекции сайтов, необходимо вручную добавить пользователя, под которым работает Web Application, в роль db_owner в базе, создаваемой SLK.
  2. Первый вопрос, который возникает после установки и ознакомления с фукнционалом SLK – «Как сделать обучающий модуль?». В самом SLK никаких приложений для этого не предусмотрено. Но не отчаивайтесь, есть несколько вариантов.
    1. Т.к. SLK понимает пакеты в форматах, предусмотренных стандартом SCORM 2004, можно обратиться в любимую поисковую систему с запросом вида «SCORM authoring tool«.
    2. Возможность создания пакетов предусмотрена в Learning Essentials for Microsoft Office. Счастливые обладатели легальной копии Microsoft Office могут скачать его здесь. Но будьте внимательны, судя по описанию, в русскую версию Learning Essentials инструменты для создания SCORM-пакетов не входят: «The English, French, German, Italian, Norwegian, and Spanish versions of Learning Essentials also support SCORM standards. SCORM Tools seamlessly convert Microsoft Office documents into standards-based e-learning content that can be managed and reused by any SCORM-conformant learning management system.«

Technorati Tags: , , ,

SharePoint Spy

Июнь 16th, 2007

Если вам по какой-либо причине не понравился SharePoint Manager 2007, упомянутый в одной из предыдущих записей, можете взглянуть на SharePoint Spy. Принципиальной разницы между ними я не вижу, разве что Spy умеет отображать элементы сайта в XML-формате (может пригодиться при написании своих шаблонов и/или CAML-запросов).

Technorati Tags: ,

 

Excel -> BizTalk

Июнь 15th, 2007

Хороший человек Мэт Мелески написал компонент конвейера BizTalk-сервера, позволяющий извлекать данные из Excel’евский файлов и файлов в формате DBF. По ссылке доступен, среди прочего исходный код компонента. По признанию автора, главный недостаток преобразователя на текущий момент – необходимость сохранения временной копии исходного файла, что негативно сказывается на производительности.

Возможность получения и обработки файлов в формате Excel – это едва ли не самая часто запрашивая слушателями курса по BizTalk’у фича, поэтому трижды ура!

Заполнение форм InfoPath в браузере

Июнь 10th, 2007

При публикации серверной формы InfoPath создается тип содержимого, соответствующий этой форме. Добавив этот тип содержимого к библиотеке и включив отображение документов библиотеки в браузере (Settings->Advanced Settings->Display as Web page), мы позволим заполнять формы данного типа из веб-браузера.

Однако есть одна проблема. Если создать свой тип содержимого, наследуемый от опубликованной формы, формы этого типа не будут открываться в браузере.

Для того, чтобы исправить этот недостаток необходимо поработать с объектной моделью SharePoint. Если нет желания писать программный код для этой конкретной задачи, можно воспользоваться SharePoint Manager 2007 (даю прямую ссылку, потому что блог автора у меня не открывается).

Итак, с помощью SPM2007 необходимо в настройках библиотеки, в Content Types найти тот тип содержимого, который мы унаследовали от InfoPath’овской формы и в поле NewDocumentControl указать «SharePoint.OpenXmlDocuments.2″ (без кавычек).

Если мы хотим, чтобы во всех библиотеках, к которым мы привязываем данный тип содержимого, формы открывались браузере, необходимо ту же настройку выполнить для Content Types -> <название типа> на уровне всего сайта.

Technorati Tags: , ,