Какое имя вы даете файлу сборки проекта MSBuild? - PullRequest
7 голосов
/ 23 сентября 2008

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

Например, учебник по MSBuild, который можно загрузить из Microsoft, подробно описывает содержимое файла сборки. Например, вот немного их файла проекта Hello World.

<Project MSBuildVersion = "1.0" DefaultTargets = "Compile">
   <Property appname = "HelloWorldCS"/>
   <Item Type = "CSFile" Include = "consolehwcs1.cs"/>
   <Target Name = "Compile">
      <Task Name = "CSC" Sources = "@(CSFile)">
         <OutputItem  TaskParameter = "OutputAssembly" Type = "EXEFile" Include = "$(appname).exe"/>
      </Task>
      <Message Text="The output file is @(EXEFile)"/>
   </Target>
</Project>

И это относится к бла-бла-бла. Предметы, бла-бла-бла, вот как вы это делаете, и вот как вы это делаете. Бесполезно, совершенно бесполезно. Потому что они никогда не говорят, как этот файл XML должен распознаваться приложением MSBuild. Это должно быть названо определенным образом? Это должно быть помещено в определенный каталог? И то и другое? Ни?

Это не просто учебник по MS, где они не рассказывают об этом. Мне не удалось найти его ни в MSDN, ни в других ссылках, которые я могу извлечь из Groups.Google.

Кто-нибудь здесь знает? Я очень на это надеюсь.

Отредактировано, чтобы добавить: Я принял .proj файл включен в учебник быть файлом .csproj и вот что один кормил MSBuild, но прежде чем я увидел это, понадобился ответ ниже. Это должно было быть довольно очевидно, но я пропустил это.

Ответы [ 5 ]

5 голосов
/ 23 сентября 2008

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

msbuild.exe /?

Microsoft (R) Build Engine Version 2.0.50727.3053
[Microsoft .NET Framework, Version 2.0.50727.3053]
Copyright (C) Microsoft Corporation 2005. All rights reserved.

Syntax:              MSBuild.exe [options] [project file]

Так что, если вы сохраните файл как mybuildfile.xml, вы будете использовать синтаксис:

msbuild.exe mybuildfile.xml
2 голосов
/ 12 августа 2011

Не прямой ответ, а связанный; если вы используете .msproj в качестве расширения, Visual Studio предоставит вам intellisense.

2 голосов
/ 30 октября 2008

Вам не нужно указывать файл сборки, если вы придерживаетесь следующей стратегии:

Сегодня, когда вы запускаете msbuild.exe из командной строки и не указать любые файлы проекта как аргументы, то мы делаем некоторые авто инферральный и сканирующий и решить, если мы надо строить что угодно. Если мы найдем либо проект msbuild (что-нибудь который имеет расширение * proj) или файл решения (.sln), мы будем строить либо проект или решение как Пока есть только одно решение или один проект в каталоге. Если там это решение и проект, мы будем отдать предпочтение решению. Если есть более одного проекта или более чем одно решение, мы выдаем ошибку сообщение, потому что мы не можем решить, какие один, чтобы построить.

Это взято из Запрос новой функции обратной связи: / IgnoreProjectExtensions - Новый переключатель командной строки .

Я всегда называю свои написанные вручную сценарии build.proj .

0 голосов
/ 09 марта 2013

Visual Studio 2012 распознает .msbuildproj как расширение и будет рассматривать его как «проект» в обозревателе решений.

0 голосов
/ 24 октября 2008

Или для действительно ленивых, как я.

msbuild.exe project-file-name.vcproj /t:Rebuild /p:Configuration=Release
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...