Я взял на себя разработку веб-приложения, ориентированного на платформу .net 1.0 и написанного на C# и Visual Basic.
Я решил, что первое, что нам нужно сделать, это усовершенствовать процесс сборки, я написал файлы сборки для проектов C#, но у меня масса проблем с созданием файла сборки для Visual Basic.
По общему признанию, я лично не знаком с VB, но мне кажется, что мне нужно жестко закодировать весь импорт и ссылки в моем файле сборки, чтобы что-то работало ... конечно, не лучший способ делать что-то ...
Для любого примера: если я не включу пространство имен System в файл сборки, я получу несколько ошибок распространенных неизвестных типов, например: Guid
NAnt обычно требует этого для кода VB или код VB требует возможного NAnt-freindly рефакторинга?
Есть ли у кого-нибудь подсказки VB NAnt?





Я не уверен, если вы говорите о VB или VB.Net.
В любом случае, посмотрите Nant Contrib. Может, у них есть решение.
Вы вызываете msbuild для сборки? Или вы вызываете VS.NET IDE exe для сборки. У нас не было проблем с нашим миксом C# / VB.NET с использованием CC.NET и NAnt, и нам не нужно указывать ссылочные сборки внутри файлов сборки.
Мы используем среду IDE exe для создания решений, содержащих проекты, которые мы хотим построить.
Я бы порекомендовал вам исключить компиляторы для конкретного языка из уравнения для этого. И вы все еще можете использовать 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 скомпилировать нативно, но, на мой взгляд, это то, что я бы использовал для этого проекта, так как это, кажется, один раз?
Надеюсь, это поможет,
Ваше здоровье,
Роб Джи
У меня был аналогичный опыт работы с NAnt и компилятором vbc для проектов VB.NET, разработанных с помощью Visual Studio. Мое решение заключалось в том, чтобы избежать импорта пространств имен на уровне проекта в Visual Studio (что происходит по умолчанию) и использовать явные операторы Imports на уровне класса / файла. Проекты C# работают таким образом по умолчанию (без импорта пространства имен на уровне проекта), и мне нравится дополнительная информация, предоставляемая явными директивами пространства имен при просмотре файла.
Интересно, что проекты VB.NET и C# VS в этом отношении очень разные.