2015-02-26 5 views
0

Я пытаюсь поместить мое скомпилированное веб-приложение во временный каталог после его создания.MSBuild послестроить шаг для копирования кода во временную папку

У меня есть следующее, но оно не работает. Он падает и создает режиссеров, но задача msbuild, похоже, не копирует вывод компиляции в каталог obj/publish, который мне нужен?

<Target Name="AfterBuild"> 
    <CallTarget Targets="Publish" /> 
    </Target> 
    <Target Name="Publish"> 
    <RemoveDir Directories="$(SolutionDir)AsycLearn\obj\publish\" ContinueOnError="true" /> 
    <MakeDir Directories="$(SolutionDir)AsycLearn\obj\publish\"/> 
    <MSBuild Projects="AsycLearn.csproj" Targets="ResolveReferences;_CopyWebApplication" Properties="WebProjectOutputDir=$(SolutionDir) AsycLearn\obj\publish\;OutDir=$(SolutionDir) AsycLearn\obj\publish\bin\" /> 
    </Target> 

любые идеи? Спасибо

ответ

0

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

Properties="WebProjectOutputDir=$(SolutionDir) AsycLearn\obj\publish\;OutDir=$(SolutionDir) AsycLearn\obj\publish\bin\"

должен быть

Properties="WebProjectOutputDir=&quot;$(SolutionDir) AsycLearn\obj\publish\&quot;;OutDir=&quot;$(SolutionDir) AsycLearn\obj\publish\bin\&quot;"

Последовательность побег &quot; необходима, потому что мы хотим, разрешенное значение включить кавычки.