Один из наших клиентов использует Visual Studio Online который основан на возможностях Team Foundation Server (TFS)
Мы изучали, как выполнять автоматические сборки и автоматические модульные тесты с помощью размещенного агента сборки Visual Studio Online.
Мы пытаемся создать на нем одно из наших веб-приложений.
Наше решение для веб-приложений содержит несколько файлов csproj в рамках решения.
Примечание. Веб-приложения будут правильно собираться и правильно работать на наших локальных компьютерах для разработки с использованием Visual Studio 2012.
Однако, когда мы создаем веб-приложение с помощью агента размещенной сборки Visual Studio Online, оно выдает следующую ошибку о том, что не удается найти основную dll моего приложения (мое приложение называется BlahBlah):
C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ WebApplications \ Microsoft.WebApplication.targets (182): не удалось скопировать файл «bin \ BlahBlah.dll», потому что он не был найден. C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ WebApplications \ Microsoft.WebApplication.targets (182): не удалось скопировать файл «bin \ BlahBlah.pdb», потому что он не был найден.
Поэтому я проверил различные файлы csproj в наших решениях для веб-приложений и нашел следующий код:
<Content Include="bin\BlahBlah.dll" />
<Content Include="bin\BlahBlah.pdb" />
Для правильной работы в агенте размещенной сборки Visual Studio Online приведенные выше ссылки были заменены следующими:
<Content Include="bin\BlahBlah.dll" Condition="$(IsDesktopBuild) == true" />
<Content Include="bin\BlahBlah.pdb" Condition="$(IsDesktopBuild) == true" />
<None Include="bin\BlahBlah.dll" Condition="$(IsDesktopBuild) != true" />
<None Include="bin\BlahBlah.pdb" Condition="$(IsDesktopBuild) != true" />
После замены ссылок наше приложение будет правильно строиться на основе агента размещенной сборки Visual Studio Online.
Однако следует ли исключить ссылки на bin..project..dll в TFS или Visual Studio ONline Builds? Другими словами, является ли моя вышеупомянутая успешная сборка «ложным проходом»?