Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Компиляция файла проекта .vbproj или .csproj без Visual Studio

Автор вопроса: Daniel MagliolaОтветов: 6

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

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

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

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

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

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

Любая помощь будет оценена

  • См. Также stackoverflow.com/q/5174893/30280 Bevan 29.02.2012

visual-studiocompilationcsproj

Ответы

Ответ 1 · рейтинг 46 · Community

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

msbuild /property:Configuration=Release MyFile.vbproj

Ответ 2 · рейтинг 4 · Rob Prouse

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

Ответ 3 · рейтинг 2 · AaronS

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

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

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

Ответ 4 · рейтинг 2 · Sayed Ibrahim Hashimi

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

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

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

Ответ 5 · рейтинг 1 · Alexander Ivanov

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

msbuild wpfapp1.sln /p:BuildProjectReferences=true

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

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

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

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

Ответ 6 · рейтинг -1 · JWPlatt

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

<NoVBRuntimeReference>On</NoVBRuntimeReference>

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы