Компиляция файла проекта .vbproj или .csproj без Visual Studio
-
06-07-2019 - |
Вопрос
Есть ли способ напрямую скомпилировать файл проекта .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.