У меня очень странная проблема, когда я создал пользовательскую задачу MSBuild, которая переместит все файлы, которые мне нужны для моего проекта MVC, в определенное место, чтобы мы могли его опубликовать.Это прекрасно работает, когда я запускаю скрипт локально на моей машине, но как только я проверяю это, и Teamcity запускает скрипт, он копирует все, кроме папки Bin.Однако, если MSbuild запускается напрямую из командной строки (тот же сценарий), он копирует папку bin.Я не понимаю, почему это не работает, когда TeamCity его строит.
У кого-нибудь есть идея, почему это происходит и как ее решить?
<Target Name="AfterBuild">
<CallTarget Targets="Move" />
</Target>
<Target Name="Move">
<Copy SourceFiles="@(BinFolder)" DestinationFolder="$(ArtifactsDir)\Webproject.Web\bin" />
<Copy SourceFiles="@(ContentFolder)" DestinationFolder="$(ArtifactsDir)\SchrodersFundEngine.Web\Content" />
<Copy SourceFiles="@(ImagesFolder)" DestinationFolder="$(ArtifactsDir)\SchrodersFundEngine.Web\Images" />
<Copy SourceFiles="@(ScriptsFolder)" DestinationFolder="$(ArtifactsDir)\SchrodersFundEngine.Web\Scripts" />
</Target>
<ItemGroup>
<BinFolder Exclude="*.cs" Include="$(ProjectDir)bin\**\*.*"/>
<ContentFolder Exclude="*.cs;*.svn-base" Include="$(ProjectDir)Content\*.css"/>
<ImagesFolder Exclude="*.cs;*.svn-base" Include="$(ProjectDir)Images\*.*"/>
<ScriptsFolder Exclude="*.cs;*.svn-base" Include="$(ProjectDir)Scripts\*.js"/>
</ItemGroup>
$ (ArtifactsDir) - это параметр, который я передаю из Teamcity и вручную в командной строке,
/p:ArtifactsDir="%system.agent.work.dir%\WebProject\trunk\Website"