Вопрос

Есть ли способ напрямую скомпилировать файл проекта .vbproj или .csproj, как это делает Visual Studio?

Когда вы компилируете в Visual Studio, вывод " Окно показывает фактический вызов компилятора, который обычно выглядит так:

vbc.exe [набор параметров] [более длинный список файлов .vb]

Я хотел бы программно назвать "что-то" это взяло бы файл .vbproj и сделало бы все, что Visual Studio делает для генерации этой длинной командной строки. Я знаю, что мог бы самостоятельно проанализировать .vbproj и сгенерировать эту командную строку, но я бы лучше сохранил все обратное проектирование и метод проб и ошибок ...

Есть ли инструмент для этого? Я бы предпочел сделать это на машине без установки Visual Studio. Однако, если есть способ вызвать Visual Studio с некоторыми параметрами для этого, то это тоже подойдет.

Я кратко посмотрел на MSBuild, и похоже, что он работает из файла проекта .proj, который мне нужно будет сделать особенно, и что мне нужно будет обновлять каждый раз, когда я добавляю файл в файл .vbproj. (Я действительно кратко посмотрел на него, поэтому вполне вероятно, что я пропустил что-то важное)

Любая помощь будет принята с благодарностью

Это было полезно?

Решение

MSBuild - самый простой способ. Например:

msbuild /property:Configuration=Release MyFile.vbproj

Другие советы

MSBuild также может взять ваш файл решения и использовать его для компиляции.

Вы можете использовать MSBUILD или CSC. MSBuild, который, как вы упомянули, использует файлы вашего проекта и решения. CSC скомпилирует определенные файлы или все файлы в определенном дереве каталогов.

Вам также следует обратить внимание на автоматизацию ваших сборок с помощью NAnt и / или CruiseControl.net.

Кроме того, вот пример того, как скомпилировать ваш код без Visual Studio с использованием CSC. http://blog.slickedit.com/?p=163

Просто чтобы вы знали, что файлы .vbproj и .csproj - это MSBuild. Таким образом, все, что вы прочитали, вы можете применить к этим файлам напрямую.

Саид Ибрагим Хашими

Моя книга: Внутри Microsoft Build Engine: использование MSBuild и Team Foundation Build

В папке решения проекта:

msbuild wpfapp1.sln /p:BuildProjectReferences=true

MSbuild обычно находится в:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319

(или что-то подобное, в зависимости от версии)

csc.exe компилирует файлы, msbuild компилирует проекты и решения

В верхней части файла .vbproj находится файл. Добавьте эту строку в группу свойств, чтобы подавить время выполнения VB:

<NoVBRuntimeReference>On</NoVBRuntimeReference>

MSBuild сделает все остальное. Нет необходимости использовать командную строку, если у вас есть IDE.

scroll top