0

我是 MSBuild 的新手,但我设法设置了以下简单脚本:

<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 个是 WebApp。现在,脚本工作正常并且输出正确生成。我反驳的唯一问题是解决方案中有两个使用 AJAX 控制工具包的 WebApp 项目。该工具包有一组包含本地化资源的文件夹(例如aritesfr )。在 MSBuild 中构建解决方案时,这些文件夹不会复制到 WebApps 的bin目录中,但在 Visual Studio 中构建时会复制它们。

我怎样才能以干净的方式解决这个问题?我知道我可以编写一个(相当复杂的)任务,在编译后复制目录,但这对我来说似乎不是正确的解决方案。此外,Google、SO 和 MSDN 都无法提供有关此类问题的更多详细信息。

4

1 回答 1

0

Make sure the ajaxcontroltoolkit.dll from the bin directory was added to your source control repository. (ie SVN, GIT, CNV, etc.)

于 2010-04-21T19:09:21.530 回答