0

Web アプリケーションをビルドし、出力をルートの 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"
4

1 に答える 1

0

プロパティが順番に評価されるので、

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

する必要があります

   <BuildConfig>Debug</BuildConfig>
    <BuildDir>build\bin\$(BuildConfig)</BuildDir>
于 2013-05-10T11:34:32.820 に答える