November 2014 Blog Posts

Web Essentials “Browser Link”

27 November 2014 |

Недавно была заметка Web Essentials 2013 (2.5.2) + SASS = Error, продолжаем тему. В Web Essentails есть функциональность сгруппированная в понятие Browser Link, с чем можно столкнуться и что нужно знать.

Best Practices

Web Essentials uses some of the rules from webdevchecklist.com to scan for best practices. If any violations are found, a message in the Error List shows up.

Здорово, сразу же в Error List во время выполнения будет:

Message    1    SEO: Use HTML5 microdata to add semantic meaning to the website.    microdata

и подобные сообщения. (Hidden Web Essentials Feature –Check for best practices). Интересны они вам или нет, но игнорировать их не получиться. Чтобы их не видеть больше есть два способа: либо отключить Browser Link со всей его функциональностью, либо исправить “ошибки”, хотя бы формально. Правил не много поэтому второй вариант приемлем, чтобы не показывалось сообщение приведенное в примере достаточно изменить тег body вот так: <body itemscope>

Find Unused CSS

Clicking this button will start recording the different CSS rules used on your site. Simply start navigating around you website, and when you're done, click the button again. This will produce a list of unused CSS in the Error List inside Visual Studio.

Здорово… но эта функциональность и некоторая другая не работает если в настройках проекта указана Virtual Directory не по умолчанию, поэтому для ее использования нужно изменить настройки проекта, см. картинку – убрать /MyApplication.

Firefox Downloads In Tab

22 November 2014 |

В браузере Firefox по умолчанию просмотр скачиваемых файлов открывается в отдельном окне (“Библиотека”). Дело вкуса, но вместо ещё одного окна, было бы удобно видеть ту же самую информацию на отдельной вкладке и такая возможность есть. Продвинутые “гуру” знают, что если в адресной панели набрать about:downloads, то откроется заветная вкладка.

А можно как-нибудь так сделать чтобы сразу, всегда, по умолчанию, без лишних телодвижений открывалась вкладка с загрузками. Внимание, ответ: да можно… понять это нельзя это можно только запомнить. Нужно в настройках на вкладке Приватность для истории установить параметр не будет запоминать историю, перезагрузить браузер и все работает. Вот такое перпендикулярнологическое решение проблемы - на дворе расцвет эпохи информационных технологий.

Web Essentials 2013 (2.5.2) + SASS = Error

21 November 2014 |

Вышла версия 2.5.2 плагина Web Essentials 2013 for Update 4 для Visual Studio. Плагин при реализации клиентской части Web приложений фактически является стандартным инструментом. Microsoft его использует, как тест функциональности на востребованность – наиболее популярные возможности входят в регулярные обновления и новые версии Visual Studio. За оперативность приходится платить, чудес не бывает, в этот раз с выходом версии 2.5.2 перестал работать компилятор SASS (SCSS), результатом компиляции вместо css является:

/*

Compilation Error occurred (see error list to navigate to the error location):


*/

Решение проблемы: Tools –> Options –> Web Essentials –> SASS свойство Use Ruby Runtime установить в True и всё работает как прежде… до следующего обновления.

ClickOnce Change URL

15 November 2014 |

Технология ClickOnce облегчает поддержку большого количества “клиентов” в актуальном состоянии. Если в компании приложением пользуются больше одного-двух пользователей, а обновления приложения частые – очень удобно, у пользователей всегда актуальная версия автоматически. Но что делать если компаний много, выполнять для каждой билд с параметрами сервера конкретной компании… можно, только зачастую параметры окружения (имена серверов, порты) становятся понятны только непосредственно перед установкой.

Есть способ настроить дистрибутив не выполняя сборку проекта, для этого Microsoft предлагает утилиту mage.exe, но халявы нет, чтобы решить задачу нужно выполнить не один шаг. Вот пример скрипта как настроить url, откуда будет происходить установка и проверка обновлений, в случае если клиентская часть не подписана, иначе скрипт нужно расширить добавив вызовы mage.exe пере-подписывающие дистрибутив. В качестве бонуса перед выполнением скриптов вы можете в ручную изменить конфигурационные файлы присуствующие в дистрибутиве, например app.config.deploy. Скрипт не влияет на setup.exe поэтому установку на клиентские компьютеры нужно выполнять запуская App.application, а не setup.exe.

echo -- remove .deploy extensions

pushd "pub\Application Files\App_X_X_X_X\"

rename *.deploy *.

for /r /d %%f in (*) do (rename "%%f\*.deploy" *.)

popd

 

mage.exe -update "pub\Application Files\App_X_X_X_X\App.exe.manifest"

 

echo -- add .deploy extensions

pushd "pub\Application Files\App_X_X_X_X\"

rename * *.*.deploy

for /r /d %%f in (*) do (rename "%%f\*" *.*.deploy)

rename *.manifest.deploy *.

rename *.application.deploy *.

popd

 

mage.exe -update "pub\Application Files\App_X_X_X_X\App.application" -ProviderUrl http://clienthost/App/Client/App.application

mage.exe -update "pub\Application Files\App_X_X_X_X\App.application" -AppManifest "pub\Application Files\App_X_X_X_X\App.exe.manifest"

mage.exe -update "Client\App.application" -ProviderUrl http://clienthost/App/Client/App.application

mage.exe -update "Client\App.application" -AppManifest "pub\Application Files\App_X_X_X_X\App.exe.manifest"