Как создать файл автоматической сборки для VB.Net в NAnt?

Я взял на себя разработку веб-приложения, нацеленного на платформу .net 1.0 и написанного на C # и Visual Basic.

Я решил, что первое, что нам нужно сделать, это усовершенствовать процесс сборки, я написал файлы сборки для проектов C #, но у меня возникло множество проблем при создании файла сборки для Visual Basic.

По общему признанию, я лично не знаю VB, но кажется, что я должен жестко закодировать все импорты и ссылки в моем файле сборки, чтобы заставить что-либо работать ... конечно, не лучший способ сделать вещи ...

Для любого примера: если я не включу систему пространств имен в файл сборки, я получу несколько ошибок распространенных неизвестных типов, например: Guid

NAnt обычно требует этого для кода VB или код VB нуждается в возможном рефакторинге NAnt?

У кого-нибудь есть советы VB NAnt?

17.08.2008 18:52:13
4 ОТВЕТА

Я не уверен, если вы говорите о VB или VB.Net.
В любом случае, взгляните на Нанта Contrib . Может быть, у них есть решение.

1
17.08.2008 21:15:22

Вы звоните msbuild для сборки? Или вы вызываете VSE .NET IDE exe для сборки. У нас не было проблем с нашим миксом c # / VB.NET с использованием CC.NET и NAnt, и нам не нужно было указывать ссылочные сборки внутри файлов сборки.

Мы используем IDE exe для создания решений, которые содержат проекты, которые мы хотим построить.

1
19.08.2008 21:24:02

Я бы порекомендовал вам исключить компиляторы для конкретного языка из уравнения для этого. И вы все еще можете использовать NAnt для этого:

Сначала начните с цели, которая использует MSBuild, потому что она скомпилирует ваш проект независимо от используемого языка и позаботится о ваших зависимостях. Это означает, что вам не нужно жестко их кодировать.

Пример:

<target name="WinBuild">
  <exec program="msbuild.exe"
        basedir="${DotNetPath}"
        workingdir="${SolutionPath}"
        commandline="MySolution.sln 
                     /nologo /verbosity:normal /noconsolelogger 
                     /p:Configuration=Debug /target:Rebuild" />
</target>

Я думаю, что, как только вы это сделаете, вы можете потратить много времени, пытаясь заставить NAnt скомпилировать нативно, но, по моему мнению, это то, что я бы использовал для этого проекта, так как он, кажется, не работает?

Надеюсь, это поможет,

Ура,

Роб Г

1
28.08.2008 14:24:01

У меня был похожий опыт работы с NAnt и компилятором vbc для проектов VB.NET, разработанных с помощью Visual Studio. Мое решение состояло в том, чтобы избежать импорта пространств имен на уровне проекта в Visual Studio (что происходит по умолчанию) и использовать явные операторы Imports на уровне класса / файла. Проекты C # работают таким образом по умолчанию (нет импорта пространства имен на уровне проекта), и мне нравится дополнительная информация, предоставляемая явными директивами пространства имен при просмотре файла.

Интересно, что проекты VB.NET и C # VS настолько разные в этом отношении.

2
22.01.2009 21:46:12