ich MSBuild neu bin, aber ich schaffte es die folgenden einfachen Skript-Setup:AjaxControlToolkit Ressourcendateien nicht zur Ausgabe von in MSBuild Script kopiert
<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>
Die Lösung verfügt über 23 Projekte, von denen 4 WebApps sind. Jetzt funktioniert das Skript einwandfrei und die Ausgabe wird korrekt generiert. Das einzige Problem, das ich zähle, ist mit zwei WebApp-Projekten in der Lösung, die das AJAX Control Toolkit verwenden. Das Toolkit hat einen Satz von Ordnern (z.B. ar, es, es, fr), die ortsbezogene Ressourcen enthalten. Diese Ordner werden nicht in das Verzeichnis der WebApps bin kopiert, wenn die Lösung in MSBuild erstellt wird, aber sie werden kopiert, wenn sie in Visual Studio erstellt werden.
Wie kann ich das auf eine saubere Weise lösen? Ich weiß, dass ich eine (ziemlich komplizierte) Aufgabe schreiben könnte, die die Verzeichnisse nach dem Kompilieren kopiert, aber es scheint nicht die richtige Lösung für mich zu sein. Außerdem könnten weder Google, SO und MSDN weitere Details zu dieser Art von Problem bereitstellen.