2016-03-11 2 views
0

Так что возникает очень странная проблема с MSbuild с использованием определения сборки TFS 2015.MSBuild не помещает файлы по запросу

Веб-приложение, которое я пытаюсь создать, имеет несколько csprojs, которые используются как библиотеки классов во всем приложении и, конечно же, мое фактическое веб-приложение.

Ниже перечислены аргументы MSBuild, которые я просматриваю в настоящее время, чтобы получить полностью завершенную сборку.

/p:UseWPP_CopyWebApplication=True 
/p:PipelineDependsOnBuild=False /p:OutDir=C:\Agent\_work\1\s\Application\Package\bin\ 
/p:WebProjectOutputDir=C:\Agent\_work\1\s\Application\Package\WebSite\ 
/p:NoWarn=0067 
/v:Minimal 

Что бы я хотел сделать, это следующее.

/p:UseWPP_CopyWebApplication=True 
/p:PipelineDependsOnBuild=False /p:OutDir=C:\Agent\_work\1\s\Application\Package\Website\bin\ 
/p:WebProjectOutputDir=C:\Agent\_work\1\s\Application\Package\WebSite\ 
/p:NoWarn=0067 
/v:Minimal 

Вопрос бегаю на это после того, как первые узлы запуска и помещаются в папку бин тогда работает на главном WebProject csproj и кидает не удалось найти файл для копирования сообщения.

Я не понимаю, почему это так? Это потому, что MSBuild ожидает, что папка bin будет пустой/нет?

Я пропустил что-то в порядке сборки или другой Аргумент должен быть передан. Я также пробовал «outpath».

+0

если бы помочь вам понять этот вопрос, если вы wernt выключая большинство запись, удаление минимального, –

+0

Хорошо спасибо Джеймс, я дам вам попробовать. – Dashwall

ответ

0

Во втором аргументе путь «OutDir» совпадает с «WebProjectOutputDir». Это вызовет проблему, поскольку MSBuild очистит папку «WebProjectOutputDir» перед запуском задачи «_WPPCopyWebApplication», которая копирует файлы в папку «WebProjectOutputDir». Это означает, что файлы, созданные в «OutDir» во время сборки, будут очищены, потому что они используют один и тот же путь с «WebProjectOutputDir», поэтому задача не сможет найти файлы для копирования.

Чтобы избежать этой проблемы, вы либо изменить «OutDir» отличается от «WebProjectOutputDir» или добавить еще один аргументы:

/p:CleanWebProjectOutputDir=False 
+0

Отлично, что мне нужно, спасибо большое – Dashwall

Смежные вопросы