Минимальный проект MsBuild
4 мин
Наверное, каждому программисту, знакомому с системой построения проектов MsBuild, приходила в голову идея не заниматься расширением существующего процесса построения, а придумать его «с нуля». Иными словами, добавить в существующим типам проектов .csproj (проект на C#) и .vbproj (проект на VB.NET) еще один тип (например, .myproj или просто .proj). А кто-то, может быть, даже пытался эту идею реализовать.
По этой теме, казалось бы, полно информации, есть даже пошаговое руководство на MSDN. Но, после создания файла проекта по любому подобному руководству, становится понятно, что нас жестоко обманули — созданные таким образом проекты живут «сами по себе» и не могут быть ни включены в решение, ни открыты в Visual Studio.
В этой статье я представляю вам собственное исследование на эту тему.
По этой теме, казалось бы, полно информации, есть даже пошаговое руководство на MSDN. Но, после создания файла проекта по любому подобному руководству, становится понятно, что нас жестоко обманули — созданные таким образом проекты живут «сами по себе» и не могут быть ни включены в решение, ни открыты в Visual Studio.
В этой статье я представляю вам собственное исследование на эту тему.



Для Visual Studio 2010 создано уже около 900 
— Sir Humphrey gets very upset. He doesn't regard Chief Scientific Advisor as one of us.
В этом посте публикуется история о том, как создавалось приложение Magic Brush, и о трудностях, возникших в процессе его разработки. На данный момент Magic Brush — одно из наиболее популярных приложений в Магазине Ovi, что обеспечивает стабильный доход. В хорошие времена количество продаж приложения только в Магазине Ovi достигает 4K копий в месяц. А Lite-версия была загружена в нем около 1,7M раз. Но забавно то, что задумывалось вначале совсем другое приложение. Обо всем по порядку под катом.
Обычно результатом компиляции проекта является сборка (assembly) проекта, а также его зависимости (Referenced Assemblies). Однако иногда нужно чтобы результатом был один файл единственный файл, независимый от других сборок. Например простая утилита, которую можно будет куда угодно скопировать и она будет работать.
