Компиляция файла проекта .vbproj или .csproj без Visual Studio - PullRequest
22 голосов
/ 05 ноября 2008

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

При компиляции в Visual Studio в окне «Вывод» отображается фактический вызов компилятора, который обычно выглядит следующим образом:

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

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

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

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

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

Ответы [ 6 ]

43 голосов
/ 05 ноября 2008

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

msbuild /property:Configuration=Release MyFile.vbproj
4 голосов
/ 05 ноября 2008

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

2 голосов
/ 22 мая 2009

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

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

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

2 голосов
/ 05 ноября 2008

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

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

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

1 голос
/ 10 сентября 2017

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

msbuild wpfapp1.sln /p:BuildProjectReferences=true

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

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

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

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

0 голосов
/ 16 сентября 2013

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

<NoVBRuntimeReference>On</NoVBRuntimeReference>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...