64

ビルドごとに特定のディレクトリを出力フォルダー (「bin」) にコピーする必要があります。ビルド後のスクリプトで処理できると思います。しかし、ディレクトリ自体をコピーする方法がわかりません。特定のファイルを処理する方法を知っています。

たとえば、これはファイルに対して機能します。

プロジェクト > プロパティ > ビルド イベント > ビルド後

COPY "$(SolutionDir)Resources\Release Notes.pdf" "$(TargetDir)"

しかし、私がディレクトリを持っていると仮定すると、フォルダ構造を維持するビルドが成功したときに、Templateその下にあるすべてのものTemplateをフォルダに入れる必要があります。bin

私はこれを試しました:

COPY "$(SolutionDir)Resources\Template\" "$(TargetDir)"

ディレクトリ内のファイルのみTemplateがこの方法でコピーされ、サブディレクトリとTemplateフォルダー内のファイルはコピーされません。Templateフォルダー自体を出力フォルダー内に配置したいbin。つまり、次のbinようになります。

bin > Template > abc.xxx  
                 xxx.yyy
                 Subdirectory1 > asd.qwe
                                 zxc.qwe 
                 Subdirectory2 > ...

これは重複している可能性がありますが、関連するスレッドが見つかりませんでした。ありがとう。

4

6 に答える 6

63

これを *.csproj ファイルに追加しました (プロジェクト ファイルの編集を右クリック)。

<ItemGroup>
    <Content Include="MYCUSTOMFOLDER\**">
        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
</ItemGroup>

このためには、ディレクトリは *.csproj ファイルと同じ階層レベルか、その下にある必要があると思います。

于 2019-11-17T17:14:47.573 に答える
56

これは私にとってはうまくいきました。/Sすべてを再帰的にコピーするキーです。

XCOPY "$(SolutionDir)Resources\Template" "$(TargetDir)\Template\" /S

プロンプトなしで毎回ファイルを上書きしたかったので、/Yスイッチも追加しました。

XCOPY "$(SolutionDir)Resources\Template" "$(TargetDir)\Template\" /S /Y
于 2013-07-19T17:56:15.877 に答える
22

COPY の代わりに XCOPY を試してください。例えば

XCOPY "$(SolutionDir)Resources\Template\" "$(TargetDir)\Template" /s /i /y

XCOPY の詳細については、こちらをご覧ください...

http://www.computerhope.com/xcopyhlp.htm

于 2013-07-19T15:25:13.390 に答える