Как получить MSBuild Task для генерации XML-документов при создании решения? - PullRequest
7 голосов
/ 14 апреля 2010

У меня есть решение с большим количеством проектов. Каждый проект настроен на создание файла документации XML при сборке в режиме отладки (по умолчанию). Это работает, когда я строю в Visual Studio 2008. В моем сценарии сборки на моем сервере интеграции я советую MSBuild создать полное решение, но оно не будет генерировать файлы документации. Что я могу сделать?

Я уже пытался явно указать условие отладки для процесса сборки, но это не имеет значения.

<Target Name="BuilSolution">
     <MSBuild Projects="C:\Path\To\MySolution.sln" targets="Build" Properties="SolutionConfigurationPlatforms='Debug|Any CPU'"/>
</Target>    

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

Заранее спасибо!

Ответы [ 4 ]

6 голосов
/ 20 апреля 2012

В VS 2010 вы можете сделать это в свойствах проекта C # или определить свойство DocumentationFile в файле .csproj. Например:

<PropertyGroup>
  ...
  <DocumentationFile>$(OutputPath)MyAssembly.xml</DocumentationFile>
</PropertyGroup>

Код MSBuild в $(MSBuildToolsPath)\Microsoft.CSharp.targets будет обусловливать определение этого свойства - если это так, будет создан ваш файл XML-комментариев.

3 голосов
/ 15 августа 2017

Свойства проекта различны для каждой конфигурации. В свойствах вашего проекта вы включили XML-документ только для конфигурации отладки. Переключитесь на конфигурацию релиза и включите ее тоже.

3 голосов
/ 14 апреля 2010

Я делаю это все время с моим CI-сервером. Просто передайте свойства следующим образом:

Свойства = "Конфигурация = Отладка; Платформа = Любой ЦП"

0 голосов
/ 15 апреля 2010

Дикая догадка - единственное, что я вижу, что может помочь, это установить параметр GenerateDocumentation в вашем скрипте сборки.

Процитирую немного MSDN (который ссылается на .NET 4, поэтому я не уверен, что это применимо): GenerateDocumentation Логический параметр, который указывает, генерируется ли документация при сборке. Если true, сборка генерирует информацию документации и помещает ее в файл .xml вместе с именем исполняемого файла или библиотеки, созданной задачей сборки.

...