Сообщения

Показаны сообщения с ярлыком "Visual Studio"

The type or namespace name 'IISOle' could not be found (are you missing a using directive or an assembly reference?)

Изображение
Проблема открытия проектов .NET Framework призванных администрировать IIS 5 или 6 в Windows поздних версия. Задача, чтоб в Windows появился файл C:\Windows\System32\inetsrv\ adsiss.dll На примере Windows 7. Заходите в компоненты Windows и добавьте "Совместимость конфигурации метабазы IIS и IIS 6". Далее перекомпилируйте проект. Если не помогает, то References проекта удалите ссылку на IISOle, потом в контекстном меню на проекте выберите "Add Reference...", в открывшемся окне перейдите на вкладку COM и выберите "Active DS IIS Namespace Provider". Это приведет к возвращение референса на IISOle. Есть еще одни вариант - альтернативный. Не проверял. Можно взять полученные в рабочем проекте Interop Dll и положить их в какую-либо папку внутри солюшена (обычно Librarys). Референсы во всех использующих проектах убить и пересоздать на эту DLL. Например для "Active DS IIS Namespace Provider" это будет у вас DLL-файл по имени Interop.IISO...

Ускорение компиляции Visual Studio Solution методом "Copy Local = False".

Обычное исключение из компиляции не изменяемых проектов через  Build -> Configuration Manager (колонка Build напротив каждого проекта)  не единственный подход для ускорения компиляции в Visual Studio (VS). Другой способ, строится на том, что нужно отключить поведение Visual Studio по умолчанию, когда VS копирует сборки проектов, в проекты которые ссылаются на первые. Почему и как: Если проект A ссылается на проект B, то проект B компилируется первым. По умолчанию, сборка проекта B дублируется и кладется вместе со сборкой проекта A. Подход предлагает отключить копирование сборок проектов в Solution с помощью установки свойства референса на сборку Copy Local равным False, а также помещать все сборки в общую папку. Когда применять: Я бы использовал только для крайне больших солюшенов, когда более 5 - 10 проектов. Думаю, не стоить без нужды запутывать разработку. Реализация. Общее описание, которое подойдет для существующих проектов и для вновь создаваемых. Внимание! Не приступайте к р...

Способы слияния сборок .NET Framework.

 Merging assemblies приятная задачка, позволяющая на выходе получить один исполняемый файл или одну dll. Слияние (мерджинг) сборок можно выполнить двумя основными способами: Использовать утилиту слияния. Самая распространенная и бесплатная утилита, это утилита командной строки  ILMerge . Чтоб ее использовать, например, бросьте в папку главного проекта ILMerge.exe, потом зайдите в свойства этого проекта и в Buil Events пропишите в поле Post-buid events command line вызов этой утилиты, например так: "$(ProjectDir)ilmerge" /out: "$(ProjectDir) !Output \$(TargetFileName)" "$(TargetPath)" "$(TargetDir)Prived.Midved.dll" "$(TargetDir)WindowsProcessManager.dll" del "$(ProjectDir)!Output\$(ProjectName).pdb" Где ключ /out указывает куда класть не по умолчанию готовую сборку или экзешник. В нашем случае это будет папка  !Output в корне проекта. Потом перечисляются сборки, который нужно запихнуть в итоговый ф...

Visual Studio The Watch window bug for XPath.

Ну надо же, как приятно снова встретить старинный баг, плавно перекачевавшый теперь уже в Visual Studio 2010. Окно Watch не умеет интерпретировать XPath выражения содержащие &lt; и подобрые вещи, например выражение ServiceRow[position() &lt; = $Count] в окне Watch отобразиться как недопустимое. Полностью в XSLT файле это выглядит вот так: <xsl:variable name="MyVar" select=" ServiceRow[position() &lt; = $Count] "/> В тоже время то, что будет работать в Watch, нельзя вставить в XSLT / XPath, т.к. является некорректным XML: ServiceRow[position() <= $Count] Так что не профукайте ваше время впустую. Лично мой давний запрос, по поводу этого бага, тех. поддержка Microsoft плавненько слила. :)

ReSharper: Решарпер не умеет поддерживать расшаренныекросс-компиляционные проекты.

Есть в Visual Studio приемчик такой, я его называю попростовски - кросс-компиляционный шаринг. )) Фишка в том, что в таких проектах у вас разные верссии .NET Framework, но общий код! И правите вы код в одном файле, т.к. физически файл лежит только в одном проекте, а в остальных есть только ссылки на этот файл. Поскольку namespace в таких проектах общий, то можно спокойно передавать объекты .NET Framework разных версий между звеньями приложения написанными на .NET Framework разных версий. Удобно также референс добавлять на проект подходящей версии .NET Framework. Ну как-то так, в общем. Нужно будет – нагуглю вспомню. Я что-то писал рашньше про это – WPF + WCF + Silverlight + WCF+ ASP.NET. Фигасе! А товарищи из Решарпера не чешутся. Не умеет ReSharper 5 с этим всем обходится. Жаль. :)) Приходится работать почестному постаринке – поиском по солюшену. Правда и VS и сама немного тупит при таком подходе. Но совсем немного – один и тот же файл нельзя открыть два раза и контекст на нужный ...

Visual Studio 2010: Невозможные баги.

Есть баги, появление которых невозможно в таком продукте, как Visual Studio 2010. Зато с их появлением сразу ставятся точки над i и становятся смешны коллеги до одурения подсевшие на разные тестовые фреймворки и подходы. Slacker idiots… Как не крути, а шаг в сторону от бизнес логики и оказывается, что без грамотного гуиста не обойтись. У команды VS 2010 есть оправдание. Ими проделана огромная работа по переводу Visual Studio на WPF. Но встает вопрос! А кто тогда делал бэта-тестирование? Манагеры? Планктон? Бесчисленные лекторы-профаны? Самая смешная из известных ошибок, это когда окно поиска, открываемое в VS 2010 по нажатию Ctrl – F, каждый раз увиличивается на чуть-чуть. Приколько, когда после нескольких дней работы PopUp окошко поиска занимает почти весь экран ))). Посчастливилось и мне найти багу. Это не так весело, потому что она напрямую касается читабельности кода и скорости работы. Стандартная операция – вы свернули блок кода или разметки XML, и хотите поменять его ...

Миграция WCF с проекта Web-сайт на проект Web-application в VisualStudio

Решение: Есть. Задача: Перенести файлы WCF .svc и относящиеся к ним файлы кода из VS 2008 Website в Web Application. Прочитать http://gurustop.net/blog/2008/08/03/converting-vs-2008-website-to-web-application/ Перенести .svc из Website проекта в Web Application. Из папки App_Code пененести в корень Web Application соответствующий .cs файл. Соответствующий .cs файл переименовать так: было my.cs стало my.svc.cs. Исключить .svc.cs из проекта. Создать произвольный .svc файл для сразвнения. Открыть через контекстное меню Open With выбрав XML Editor оба .svc файла. Привести к соответствию перенесенный файл задав в атрибут CodeBehind правильное значение. Для этого удалите “~/App_Code/” и “my.cs” замените на “my.svc.cs”. Включить в проект .svc.cs. При этом файл кода станет автоматически дочерним для .svc файла. Писал на скорую руку, если непонятно, связывайтесь. Если вы добавите или переименуете namespace у файла кода, то должны будете поправить настройки привязок в web.c...