1

と の 2 つのプロジェクトがLibありExeます。

ProjectLibは、いくつかのファイルを に生成PostBuildEvent します$(TargetDir)。それが

echo Foo > $(TargetDir)\Readme.txt

ExeLibCopy Local設定された参照True

Exe残念ながら、の出力ディレクトリにコピーされるファイルはありません。

プロジェクト項目をコピーするのと同じように、VS/MSBuild にファイルをコピーするように教えるにはどうすればよいCopy to Output Directoryですか?

4

2 に答える 2

2

AfterBuildプロジェクトのVisual StudioプロジェクトファイルにExe以下のようにターゲットを追加すればできると思います。

  <Target Name="AfterBuild">
    <ItemGroup>
      <LibProject Include="$(LibProjectDirectory)\Lib.csproj"/>
    </ItemGroup>
    <ItemGroup>
      <LibOutput Include="%(LibProject.RootDir)%(LibProject.Directory)\bin\$(Configuration)\*" />
    </ItemGroup>
    <Copy SourceFiles="@(LibOutput)" DestinationFolder="$(OutputPath)" />
  </Target>

Libこれは、プロジェクトの出力が のデフォルトの場所にあることを前提としています%(LibProject.RootDir)%(LibProject.Directory)\bin\$(Configuration)。構成が異なる場合は、それに応じてLibOutputアイテムのIncludeパラメーターを更新する必要があります。

于 2013-09-30T09:34:02.693 に答える