无法使用MSBuild将解决方案的输出复制到目录

时间:2013-05-06 20:22:20

标签: asp.net msbuild

我正在尝试构建Web应用程序并将输出复制到root中的build \ bin \ debug文件夹。但是,为Web应用程序中引用的每个项目创建了文件夹结构。我需要在根文件夹中输出Web应用程序和所有引用的dll。

<?xml version="1.0" encoding="utf-8" ?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
    <BuildDir>build\bin\$(BuildConfig)</BuildDir>
    <BuildConfig>Debug</BuildConfig>
</PropertyGroup>

<ItemGroup>
   <ProjectToBuild Include="testwebapp.sln">
    <Properties>OutputPath=$(BuildDir);Configuration=$(BuildConfig)</Properties>      
   </ProjectToBuild>
</ItemGroup>

<Target Name="Build">  
   <Message Text="Building solution..."/>
   <MSBuild Projects="@(ProjectToBuild)" Targets="Build">
   </MSBuild>
</Target>
</Project>

但是如果我使用

之类的命令行提示执行它,它会工作
msbuild "testwebapp.sln" /t:build /p:OutputPath="custompath"

1 个答案:

答案 0 :(得分:0)

属性按顺序评估,以便

<BuildDir>build\bin\$(BuildConfig)</BuildDir>
<BuildConfig>Debug</BuildConfig>

应该是

   <BuildConfig>Debug</BuildConfig>
    <BuildDir>build\bin\$(BuildConfig)</BuildDir>
相关问题