У меня очень странная проблема, когда я создал пользовательскую задачу MSBuild, которая переместила бы все файлы, которые мне нужны для моего проекта MVC, в конкретное место, чтобы мы могли его опубликовать. Это отлично работает, когда я запускаю сценарий локально на моей машине, но как только я проверю эти изменения, и Teamcity запускает скрипт, он копирует все, кроме как из папки Bin. Однако, если вы запускаете MSbuild напрямую из командной строки (тот же скрипт), он копирует папку bin. Я не понимаю, почему это не работает, когда TeamCity его строит.Bin папка не копируется с MSBuild, 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) является paramanter я передаю в от Teamcity & вручную в командной строке.
/p:ArtifactsDir="%system.agent.work.dir%\WebProject\trunk\Website"
Как выглядит остальная часть вашего скрипта сборки - где объявлены $ (ArtifactsDir) и $ (BinFolder)? – stack72
Добавлен немного больше информации выше. – MrW