24

プロジェクトのビルド後にメイン ディレクトリから xml ファイルをコピーしたいのですbin\Debugが、解決策がうまくいきません。.csprojファイルを編集して追加しました:

<Target Name="AfterBuild">
     <Copy SourceFiles="Controllers.xml" DestinationFolder="\bin\Debug" ContinueOnError="true" />
</Target>

私は何を間違っていますか?ビルドは成功です。

4

3 に答える 3

45

宛先フォルダーが (ほとんどの場合) 間違っています。先頭にバックスラッシュを付けて指定すると、実際には単なる省略形になります<current-drive-letter>\bin\Debug(実質的に のような絶対パスになりますC:\bin\Debug)。

を使用するか、ビルド構成に応じてまたはに設定されている変数をbin\Debug使用することをお勧めします。OutputPathbin\Debugbin\Release

例:

<Target Name="AfterBuild">
     <Copy SourceFiles="Controllers.xml" DestinationFolder="$(OutputPath)" ContinueOnError="true" />
</Target>
于 2012-09-12T10:23:39.207 に答える
5

xml ファイルはプロジェクト内にありますか? 次に、そのプロパティの 1 つが CopyToOutputDirectory です。これを CopyAlways に設定すると、プロジェクトのビルド時にファイルが bin\debug にコピーされます。

于 2012-09-12T11:33:46.687 に答える
3

フルパスを指定する必要があります。MsBuild コピー タスクが Visual Studio の "既定のパス" から実行されていると思われ、ファイルが見つかりません。また、ほとんどの場合、ファイルをビルド ターゲット ディレクトリに配置する必要があります。

<Target Name="AfterBuild">
    <Copy SourceFiles="$(ProjectDir)Controllers.xml" DestinationFolder="$(TargetDir)" ContinueOnError="true" />
</Target>
于 2012-09-12T11:46:00.057 に答える