Как создать файл автоматической сборки для VB.Net в NAnt? - PullRequest
2 голосов
/ 17 августа 2008

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

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

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

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

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

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

Ответы [ 4 ]

2 голосов
/ 23 января 2009

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

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

1 голос
/ 20 августа 2008

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

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

1 голос
/ 28 августа 2008

Я бы порекомендовал вам исключить компиляторы для конкретного языка из уравнения для этого. И вы все еще можете использовать 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 голос
/ 18 августа 2008

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

...