<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Утилиты</title><link>http://relib.com/blogs/bazile/category/4.aspx</link><description>Полезные утилиты для веб-программиста</description><managingEditor>Василий Петрухин</managingEditor><dc:language>ru-RU</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Василий Петрухин</dc:creator><title>Шаблон файла проекта для компиляции с помощью MSBuild</title><link>http://relib.com/blogs/bazile/archive/2006/08/25/msbuild_project_template.aspx</link><pubDate>Fri, 25 Aug 2006 19:33:00 GMT</pubDate><guid>http://relib.com/blogs/bazile/archive/2006/08/25/msbuild_project_template.aspx</guid><wfw:comment>http://relib.com/blogs/bazile/comments/5988.aspx</wfw:comment><comments>http://relib.com/blogs/bazile/archive/2006/08/25/msbuild_project_template.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://relib.com/blogs/bazile/comments/commentRss/5988.aspx</wfw:commentRss><trackback:ping>http://relib.com/blogs/bazile/services/trackbacks/5988.aspx</trackback:ping><description>&lt;p&gt;Вместе с .NET Framework 2.0 поставляется утилита &lt;a href="http://msdn2.microsoft.com/en-us/library/wea2sca5.aspx"&gt;MSBuild&lt;/a&gt; позволяющая компилировать проекты Visual Studio без ее установки, при условии наличия всех исходных файлов, конечно. Это может оказаться полезным для компиляции проекта ASP.NET прямо на рабочем веб-сервере или, при работе&amp;nbsp;группы над большим проектом, ежедневных ночных компиляций. Кроме этого можно создавать свои собственные проекты. Формат несложный и &lt;a href="http://msdn2.microsoft.com/en-us/library/0k6kkbsd.aspx"&gt;полностью описан&lt;/a&gt; в MSDN, но там не хватает готового примера компиляции проекта с режимами debug и release. В результате я решил сделать такой пример самостоятельно и выкладываю его здесь для всеобщего обозрения. Вдруг кому-то еще пригодится.&lt;/p&gt;
&lt;pre class="codeSample"&gt;&lt;code&gt;&amp;lt;Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build"&amp;gt;
    &amp;lt;PropertyGroup&amp;gt;
        &amp;lt;SourcePath&amp;gt;source&amp;lt;/SourcePath&amp;gt;
    &amp;lt;/PropertyGroup&amp;gt;
    &amp;lt;Choose&amp;gt;
        &amp;lt;When Condition="'$(Configuration)'=='DEBUG'"&amp;gt;
            &amp;lt;PropertyGroup&amp;gt;
                &amp;lt;DefineConstants&amp;gt;DEBUG&amp;lt;/DefineConstants&amp;gt;
                &amp;lt;Optimize&amp;gt;false&amp;lt;/Optimize&amp;gt;
                &amp;lt;CheckForOverflowUnderflow&amp;gt;true&amp;lt;/CheckForOverflowUnderflow&amp;gt;
                &amp;lt;EmitDebugInformation&amp;gt;true&amp;lt;/EmitDebugInformation&amp;gt;
            &amp;lt;/PropertyGroup&amp;gt;
        &amp;lt;/When&amp;gt;
        &amp;lt;Otherwise&amp;gt;
            &amp;lt;PropertyGroup&amp;gt;
                &amp;lt;DefineConstants&amp;gt;&amp;lt;/DefineConstants&amp;gt;
                &amp;lt;Optimize&amp;gt;true&amp;lt;/Optimize&amp;gt;
                &amp;lt;CheckForOverflowUnderflow&amp;gt;false&amp;lt;/CheckForOverflowUnderflow&amp;gt;
                &amp;lt;EmitDebugInformation&amp;gt;false&amp;lt;/EmitDebugInformation&amp;gt;
            &amp;lt;/PropertyGroup&amp;gt;
        &amp;lt;/Otherwise&amp;gt;
    &amp;lt;/Choose&amp;gt;
    &amp;lt;Target Name="Resources"&amp;gt;
    &amp;lt;/Target&amp;gt;
    &amp;lt;Target Name="Build" DependsOnTargets="Resources"&amp;gt;
        &amp;lt;Csc
             Sources="@(CSFile)"
             TargetType="library"
             OutputAssembly="$(MSBuildProjectName).dll"
             KeyFile="$(MSBuildProjectName).snk"
             CheckForOverflowUnderflow="$(CheckForOverflowUnderflow)"
             EmitDebugInformation="$(EmitDebugInformation)"
             DefineConstants="$(DefineConstants)"
             Optimize="$(Optimize)"
             NoLogo="true"
        /&amp;gt;
    &amp;lt;/Target&amp;gt;
    &amp;lt;ItemGroup&amp;gt;
        &amp;lt;CSFile Include="$(SourcePath)\AssemblyInfo.cs" /&amp;gt;
        &amp;lt;!-- остальные исходные файлы проекта --&amp;gt;
        ...
    &amp;lt;/ItemGroup&amp;gt;
&amp;lt;/Project&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Предполагается, что в папке с файлом проекта есть дочерняя папка source с исходными&amp;nbsp;файлами. В результате компиляции получается библиотека с именем совпадающим с именем файла проекта. Рядом с файлом проекта должен также находиться файл с ключами для цифровой подписи итоговой сборки.&lt;/p&gt;
&lt;p&gt;Для компиляции проекта в режиме release команда выглядит так:&lt;/p&gt;&lt;pre class="codeSample"&gt;&lt;code&gt;msbuild myProject.proj&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Для компиляции в режиме debug так:&lt;/p&gt;&lt;pre class="codeSample"&gt;&lt;code&gt;msbuild myProject.proj /p:Configuration=Debug&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Для компиляции проекта на VB.NET вместо &lt;a href="http://msdn2.microsoft.com/en-us/library/s5c8athz.aspx"&gt;задачи &amp;lt;Csc&amp;gt;&lt;/a&gt;надо будет использовать &lt;a href="http://msdn2.microsoft.com/en-us/library/sb7a1e29.aspx"&gt;задачу &amp;lt;Vbc&amp;gt;&lt;/a&gt;, у которой вместо параметра CheckForOverflowUnderflow используется параметр RemoveIntegerChecks. Других отличий вроде нет.&lt;/p&gt;&lt;img src ="http://relib.com/blogs/bazile/aggbug/5988.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Василий Петрухин</dc:creator><title>Выпущена новая версия Microsoft FxCop</title><link>http://relib.com/blogs/bazile/archive/2006/06/26/fxcop_1_35.aspx</link><pubDate>Mon, 26 Jun 2006 10:47:00 GMT</pubDate><guid>http://relib.com/blogs/bazile/archive/2006/06/26/fxcop_1_35.aspx</guid><wfw:comment>http://relib.com/blogs/bazile/comments/5580.aspx</wfw:comment><comments>http://relib.com/blogs/bazile/archive/2006/06/26/fxcop_1_35.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://relib.com/blogs/bazile/comments/commentRss/5580.aspx</wfw:commentRss><trackback:ping>http://relib.com/blogs/bazile/services/trackbacks/5580.aspx</trackback:ping><description>&lt;P&gt;Microsoft выпустила новую версию утилиты FxCop 1.35 предназначеной для автоматической проверки сборок .NET на соответствие правилам руководства по разработке библиотек классов. Программа требует для своей работы наличие .NET Framework 2.0 и может использоваться для анализа программ откомпилированных под любую версию .NET.&lt;/P&gt;
&lt;P&gt;Скачать FxCop можно на сайте &lt;A href="http://www.gotdotnet.com/team/fxcop/"&gt;gotdotnet.com&lt;/A&gt;.&lt;/P&gt;&lt;img src ="http://relib.com/blogs/bazile/aggbug/5580.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Василий Петрухин</dc:creator><title>CTP версия SQL Server 2005 Service Pack 1</title><link>http://relib.com/blogs/bazile/archive/2006/03/17/sql_server_2005_service_pack1_CTP_march2006.aspx</link><pubDate>Fri, 17 Mar 2006 12:02:00 GMT</pubDate><guid>http://relib.com/blogs/bazile/archive/2006/03/17/sql_server_2005_service_pack1_CTP_march2006.aspx</guid><wfw:comment>http://relib.com/blogs/bazile/comments/4413.aspx</wfw:comment><comments>http://relib.com/blogs/bazile/archive/2006/03/17/sql_server_2005_service_pack1_CTP_march2006.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://relib.com/blogs/bazile/comments/commentRss/4413.aspx</wfw:commentRss><trackback:ping>http://relib.com/blogs/bazile/services/trackbacks/4413.aspx</trackback:ping><description>&lt;P&gt;Microsoft выпустила &lt;A href="http://www.microsoft.com/sql/ctp_sp1.mspx"&gt;SQL Server 2005 Service Pack 1 - Community Technology Preview (CTP)&lt;/A&gt; в которую входят средства зеркалирования баз данных (database mirroring) и SQL Server Management Studio Express. По &lt;A href="http://www.microsoft-watch.com/article2/0,2180,1938485,00.asp"&gt;сообщению сайта Microsoft Watch&lt;/A&gt; финальная версия Service Pack 1 должна быть выпущена уже в апреле.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=39ebef74-1c29-49fe-8221-c94f2b52f6c6&amp;amp;displaylang=en"&gt;Скачать SQL Server 2005 Service Pack 1 - Community Technology Preview (CTP) March 2006&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=57856cdd-da9b-4ad0-9a8a-f193ae8410ad&amp;amp;displaylang=en"&gt;Скачать SQL Server 2005 Service Pack 1 Express Editions and Tools - Community Technology Preview (CTP) March 2006&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Документация доступна в виде отдельного обновления: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=19db0b42-a5b2-456f-9c5c-f295cdd58d7a&amp;amp;displaylang=en"&gt;Скачать SQL Server 2005 Books Online Service Pack 1 Community Technology Preview (March 2006)&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Отдельного упоминания также заслуживает &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=ae94bb12-c839-4b4f-a71b-412fb3a0500e&amp;amp;displaylang=en"&gt;Community Pack for Microsoft SQL Server 2005&lt;/A&gt; (тоже CTP версия!), включащий в себя набор отдельных утилит расширяющих возможности SQL Server 2005:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Microsoft ADOMD.NET 
&lt;LI&gt;Microsoft SQL Server 2000 DTS Designer Components 
&lt;LI&gt;Microsoft SQL Server Native Client 
&lt;LI&gt;Microsoft SQL Server 2005 Analysis Services 9.0 OLE DB Provider 
&lt;LI&gt;Microsoft SQL Server 2005 Backward Compatibility Components 
&lt;LI&gt;Microsoft SQL Server 2005 Command Line Query Utility 
&lt;LI&gt;Microsoft SQL Server 2005 Datamining Viewer Controls 
&lt;LI&gt;Microsoft SQL Server 2005 Management Objects Collection 
&lt;LI&gt;Microsoft SQL Server 2005 Notification Services Client Components 
&lt;LI&gt;Reporting Add-In for Microsoft Visual Web Developer 2005 Express 
&lt;LI&gt;Microsoft Exception Message Box&lt;/LI&gt;&lt;/UL&gt;&lt;img src ="http://relib.com/blogs/bazile/aggbug/4413.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Василий Петрухин</dc:creator><title>Создание файла определенного размера в Windows XP/2003</title><link>http://relib.com/blogs/bazile/archive/2006/03/01/4308.aspx</link><pubDate>Wed, 01 Mar 2006 17:37:00 GMT</pubDate><guid>http://relib.com/blogs/bazile/archive/2006/03/01/4308.aspx</guid><wfw:comment>http://relib.com/blogs/bazile/comments/4308.aspx</wfw:comment><comments>http://relib.com/blogs/bazile/archive/2006/03/01/4308.aspx#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://relib.com/blogs/bazile/comments/commentRss/4308.aspx</wfw:commentRss><trackback:ping>http://relib.com/blogs/bazile/services/trackbacks/4308.aspx</trackback:ping><description>&lt;P&gt;Для создания файла со строго заданным размером можно воспользоваться программой &lt;A href="http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/fsutil.mspx"&gt;Fsutil&lt;/A&gt;&amp;nbsp;входящей в стандартную установку Windows XP/2003.&lt;/P&gt;&lt;PRE class=codeSample&gt;&lt;CODE&gt;fsutil.exe file createnew &amp;lt;имя файла&amp;gt; &amp;lt;размер в байтах&amp;gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Для использования fsutil необходимо иметь привилегии локального администратора.&lt;/P&gt;
&lt;P&gt;(via &lt;A href="http://www.computerra.ru/gid/rtfm/utility/254356/"&gt;Как создать файл определенного размера&lt;/A&gt;)&lt;/P&gt;&lt;img src ="http://relib.com/blogs/bazile/aggbug/4308.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Василий Петрухин</dc:creator><title>Microsoft XML Tools </title><link>http://relib.com/blogs/bazile/archive/2006/02/28/4296.aspx</link><pubDate>Tue, 28 Feb 2006 17:09:00 GMT</pubDate><guid>http://relib.com/blogs/bazile/archive/2006/02/28/4296.aspx</guid><wfw:comment>http://relib.com/blogs/bazile/comments/4296.aspx</wfw:comment><comments>http://relib.com/blogs/bazile/archive/2006/02/28/4296.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://relib.com/blogs/bazile/comments/commentRss/4296.aspx</wfw:commentRss><trackback:ping>http://relib.com/blogs/bazile/services/trackbacks/4296.aspx</trackback:ping><description>&lt;P&gt;На сайте &lt;A href="http://www.gotdotnet.com/team/xmltools/"&gt;XML Tools Team&lt;/A&gt; разработчикам предлагается несколько полезных утилит для работы с XML.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://apps.gotdotnet.com/xmltools/xsdobjgen/"&gt;XSD Object Code Generator&lt;/A&gt;&lt;BR&gt;Генерирует класс C# или VB.NET на основе XSD схемы, умеющий выполнять сериализацию и де-сереализацию данных в формате XML. XSDObjectGen выполняет работу аналогичную утилите xsd.exe из .NET Framework SDK, но отличается более широкой поддержкой часто используемых типов схем.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://apps.gotdotnet.com/xmltools/xmldiff/"&gt;Microsoft XML Diff and Patch&lt;/A&gt;&lt;BR&gt;Утилита для поиска различий между двумя XML файлами.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://apps.gotdotnet.com/xmltools/xsdvalidator/"&gt;XSD Schema Validator&lt;/A&gt;&lt;BR&gt;Позволяет проверять XML документы на соответствие W3C XML Schema (XSD) или XML Data-Reduced (XDR) Schema, проверять правильность самих схем или что xml документ синтаксически правилен (well formed).&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://apps.gotdotnet.com/xmltools/xsdinference/"&gt;Microsoft XSD Inference 1.0&lt;/A&gt;&lt;BR&gt;Создает XSD схему беря за основу синтаксически правильный (well formed) XML файл.&lt;/LI&gt;&lt;/UL&gt;&lt;img src ="http://relib.com/blogs/bazile/aggbug/4296.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Василий Петрухин</dc:creator><title>Просмотр HTTP заголовков - Fiddler</title><link>http://relib.com/blogs/bazile/archive/2005/11/11/3783.aspx</link><pubDate>Fri, 11 Nov 2005 11:18:00 GMT</pubDate><guid>http://relib.com/blogs/bazile/archive/2005/11/11/3783.aspx</guid><wfw:comment>http://relib.com/blogs/bazile/comments/3783.aspx</wfw:comment><comments>http://relib.com/blogs/bazile/archive/2005/11/11/3783.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://relib.com/blogs/bazile/comments/commentRss/3783.aspx</wfw:commentRss><trackback:ping>http://relib.com/blogs/bazile/services/trackbacks/3783.aspx</trackback:ping><description>&lt;P&gt;Недавно наша компания начала использовать Microsoft ISA Server и выяснилось что программа Proxomitron, которой я пользовался &lt;A href="http://relib.com/blogs/bazile/archive/2005/03/02/219.aspx"&gt;раньше&lt;/A&gt;&amp;nbsp;не работает в такой среде и пришлось заменить ее на &lt;A href="http://www.fiddlertool.com/"&gt;Fiddler&lt;/A&gt;.&amp;nbsp;Удобная программа, советую попробовать. Для меня главное ее достоинство - умение работать через ISA Server.&lt;/P&gt;&lt;img src ="http://relib.com/blogs/bazile/aggbug/3783.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Василий Петрухин</dc:creator><title>CodeSmith - автоматическая генерация кода по шаблону</title><link>http://relib.com/blogs/bazile/archive/2005/04/07/codesmith.aspx</link><pubDate>Thu, 07 Apr 2005 17:42:00 GMT</pubDate><guid>http://relib.com/blogs/bazile/archive/2005/04/07/codesmith.aspx</guid><description>&lt;P&gt;Назначение CodeSmith генерация исходных текстов на основе шаблонов. Результат работы не привязан к какому-то определенному языку программирования. Так, например, в дистрибутив включены шаблоны для генерации кода на C#. VB.NET и T-SQL. Программа состоит из двух частей: бесплатный Code Smith Explorer и платная Code Smith Studio. С помощью Explorer выполняется генерация кода, а Studio является средой для разработки собственных шаблонов. Также программа умеет интегрироваться в среду Visual Studio .NET 2003. Сейчас доступна версия 2.6. Дистрибутив программы занимает примерно 4.6 Мб.&lt;/P&gt;
&lt;P&gt;Сайт программы - &lt;A href="http://www.ericjsmith.com/codesmith/default.aspx"&gt;http://www.ericjsmith.com/codesmith/default.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://relib.com/blogs/bazile/aggbug/289.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Василий Петрухин</dc:creator><title>HTML Validator. Проверка правильности HTML кода.</title><link>http://relib.com/blogs/bazile/archive/2005/03/24/270.aspx</link><pubDate>Thu, 24 Mar 2005 17:28:00 GMT</pubDate><guid>http://relib.com/blogs/bazile/archive/2005/03/24/270.aspx</guid><description>&lt;P&gt;Уже долгое время для проверки html кода я пользуюсь программой &lt;A href="http://www.htmlvalidator.com/"&gt;CSE HTML Validator&lt;/A&gt;. Кроме проверки html на правильность и соответствие стандарту W3C, программа дает советы связанные с совместимостью, доступностью (accessibility) и оптимизацей под поисковые системы (последнее в простом виде). Также она проверяет встроенные в документа правила CSS и ссылки. Есть также возможность пакетной обработки группы страниц. Возможностей много и все не перечислишь.&lt;/P&gt;
&lt;P&gt;Самый известный аналогичный сервис доступный онлайн это &lt;A href="http://validator.w3.org/"&gt;W3C Markup Validator&lt;/A&gt;. У него открытые исходные коды и по идее его можно использовать локально. Кто-нибудь пробовал установить его под Windows?&lt;/P&gt;&lt;img src ="http://relib.com/blogs/bazile/aggbug/270.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Василий Петрухин</dc:creator><title>Libcheck. Определение изменений между двумя версиями сборки в .NET</title><link>http://relib.com/blogs/bazile/archive/2005/03/23/microsoft_libcheck.aspx</link><pubDate>Wed, 23 Mar 2005 11:59:00 GMT</pubDate><guid>http://relib.com/blogs/bazile/archive/2005/03/23/microsoft_libcheck.aspx</guid><description>&lt;P&gt;Утилита libcheck составляет список открытых методов в одной версии сборки, сравнивает его со списком методов из другой версии и выводит результат в виде html или xml файла. В результате получается список добавленных и удаленных методов. Таким образом можно автоматизировать создание списка изменений (changelog) между разными версиями или легко убеждаться что изменения коснулись только внутренней реализации.&lt;/P&gt;
&lt;P&gt;Немного больше подробностей доступно в &lt;A href="http://blogs.msdn.com/bclteam/archive/2005/03/21/400123.aspx"&gt;блоге разработчиков BCL&lt;/A&gt; (BCL - Base Class Library).&lt;/P&gt;
&lt;P&gt;Скачать утилиту можно в &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=4b5b7f29-1939-4e5b-a780-70e887964165&amp;amp;displaylang=en"&gt;Miсrosoft download center&lt;/A&gt;. Размер файла 563 Кб.&lt;/P&gt;&lt;img src ="http://relib.com/blogs/bazile/aggbug/263.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Василий Петрухин</dc:creator><title>Просмотр HTTP заголовков</title><link>http://relib.com/blogs/bazile/archive/2005/03/02/219.aspx</link><pubDate>Wed, 02 Mar 2005 11:24:00 GMT</pubDate><guid>http://relib.com/blogs/bazile/archive/2005/03/02/219.aspx</guid><description>&lt;P&gt;Иногда бывает очень полезно узнать какие HTTP заголовки содержатся в ответе сервера. В этом может помочь сайт &lt;A href="http://web-sniffer.net/"&gt;web-sniffer.net&lt;/A&gt;. Для просмотра всего http траффика между браузером и сервером придется установить локальный прокси-сервер. Я пользуюсь для этого программой &lt;A href="http://www.proxomitron.info/"&gt;Proxomitron&lt;/A&gt;, которая, к сожалению, больше не разивается из-за смерти автора.&lt;/P&gt;&lt;img src ="http://relib.com/blogs/bazile/aggbug/219.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>