Как заставить intellisense работать с файлами NANT в Visual Studio 2008? - PullRequest
3 голосов
/ 01 марта 2011

Я начал с пустого проекта и попытался настроить файл сборки с помощью

Вот что я пробовал до сих пор:

  1. Выяснил, какую версию NAnt я использую, запустив NAnt с опцией -help .
  2. В следующей строке заменил версию NAnt, которую я использую в следующем URL: * * 1010
  3. http://nant.sourceforge.net/release/ /nant.xsd
  4. В этом примере предположим, что это 0,90 .
  5. Загруженный файл: с вышеуказанного URL-адреса на % VS_HOME% \ Common7 \ Packages \ schemas \ xml
  6. Открыл мой сборочный файл в VS (из моего решения и проекта)
  7. В меню щелкнули XML-> Схемы ... , чтобы добавить добавленный ранее в IDE файл nant.xsd.
  8. После добавления схемы убедитесь, что рядом с ней есть зеленая галочка в столбце Использовать окна XML Schemas .
  9. Добавлен следующий атрибут в элемент моего файла сборки:
  10. Нажмите OK на Схемы XML окно.
  11. Наконец, я снова открыл свой сборочный файл с , открытым с ... XML Editor .

После выполнения описанной выше процедуры в списке ошибок я получаю список в разделе messages , но я не получаю никаких подсказок при вводе (кроме значений по умолчанию для XML) , как! -,! [CDATA [, а?)

Есть ли что-то еще, что мне нужно изменить, чтобы это работало в VS2008?

Ответы [ 3 ]

3 голосов
/ 03 марта 2011

Взгляните на задачу nantschema .Вы можете получить nant, чтобы вырвать свою собственную XML-схему, которая будет включать любые сторонние расширения (nantcontrib, пользовательские задачи и т. Д.).

Я настроил веб-сайт на своем компьютере разработчика под названием nant.myprojectname.com (где myprojectname заменяется тем, что я хочу назвать своим проектом), и я получаю nant, чтобы скопировать туда файл схемы xsd как часть процесса сборки.Я просто поместил nant.myproject.com в локальный файл hosts, чтобы он разрешил его на локальной машине разработчика - мне действительно не нужна схема, доступная в другом месте.

Затем я вставил следующее в проект nantelement:

<project
    xmlns="http://www.myprojectname.com/myprojectnamenant"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="www.myprojectname.com/myprojectnamenant http://nant.myprojectname.com/myprojectnamenant.xsd"
    default="go"
    name="myprojectname">

Атрибут schemaLocation указывает Visual Studio (или что-то еще) искать схему http://nant.myprojectname.com/myprojectnamenant.xsd.Может потребоваться перезагрузить VS до того, как Intellisense заработает.

3 голосов
/ 02 марта 2011

Я добавил файл nant.xsd, который поставляется с версией, которую я имею (0.85), в схемы, установленные в VS, а затем добавил это в мой файл сборки:

<project xmlns="http://nant.sf.net/release/0.85/nant.xsd" name="foo">

И все работало нормально. Вы уверены, что пространство имен XML, которое вы объявляете для выпуска 0.90, является правильным? Может быть, это sf.net , а не sourceforge.net.

0 голосов
/ 18 апреля 2012

Я немного опоздал на этот вопрос, но я искал решение этой проблемы с поворотом желания intellisense для NAntContrib также .Для этого выполните следующие действия:

Шаг 1: Вам нужно создать скрипт сборки для нового nant.sxd, давайте назовем этот файл nantxsd.build, который включает в себя задачи NAntContrib:

<project name="nant" default="go">
    <property name="NAntContrib" value="E:\NAnt\nantcontrib-0.91-bin\nantcontrib-0.91\bin" />
    <target name="go">
        <loadtasks assembly="${NAntContrib}\NAnt.Contrib.Tasks.dll" />
        <nantschema output="nant.xsd" target-ns="http://nant.sf.net/release/0.91/nant.xsd"/>
    </target>
</project>

Шаг 2: Затем создайте новый файл nant.xsd из командной строки.Если вы установили NAnt, вы сможете открыть окно командной строки в том же каталоге, что и скрипт nanntxsd.build, и запустить:

nant /f:nantxsd.build

Шаг 3: Скопируйте новый nant.xsd в папку Visual Studio XML \ Schemas.Например:

"C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Xml \ Schemas \ nant.xsd"

...