0

Я новичок в MSBuild, но мне удалось установить следующий простой сценарий:AjaxControlToolkit Файлы ресурсов не копируются в выходной MSBuild Script

<Project ToolsVersion="3.5" DefaultTargets="Compile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
     <Configuration Condition="'$(Configuration)' == ''">Debug</Configuration> 
    </PropertyGroup> 
    <ItemGroup> 
     <SolutionRoot Include=".." /> 
     <BuildArtifacts Include=".\Artifacts\" /> 
     <SolutionFile Include="..\SolutionName.sln" /> 
    </ItemGroup> 
    <Target Name="Clean"> 
     <RemoveDir Directories="@(BuildArtifacts)" /> 
    </Target> 
    <Target Name="Init" DependsOnTargets="Clean"> 
     <MakeDir Directories="@(BuildArtifacts)" /> 
    </Target> 
    <Target Name="Compile" DependsOnTargets="Init"> 
     <MSBuild Projects="@(SolutionFile)" Properties="OutDir=%(BuildArtifacts.FullPath);Configuration=$(Configuration)" /> 
     <MakeDir Directories="%(BuildArtifacts.FullPath)\_PublishedWebsites\RDE.XAP.UnifiedGui.Web\Temp" /> 
    </Target> 
</Project> 

Решение состоит из 23 проектов, 4 из которых являются WebApps. Теперь скрипт работает нормально, и выход генерируется правильно. Единственная проблема, с которой я сталкиваюсь, - это два проекта WebApp в решении, использующем AJAX Control Toolkit. Инструментарий имеет набор папок (например ар, это, ов, FR), которые содержат локализованные ресурсы. Эти папки не копируются в каталог bin WebApps, когда решение встроено в MSBuild, но они копируются, когда он встроен в Visual Studio.

Как я могу решить это чистым способом? Я знаю, что могу написать (довольно запутанную) задачу, которая копирует каталоги после компиляции, но это не кажется правильным решением для меня. Кроме того, ни Google, ни SO, ни MSDN не могли предоставить более подробную информацию об этой проблеме.

ответ

0

Убедитесь, что файл ajaxcontroltoolkit.dll из каталога bin был добавлен в ваш репозиторий управления версиями. (т.е. SVN, GIT, CNV и т. д.)