私はウィンドウアプリケーションを使用していますが、いくつかのプラグインとそのアプリケーションのフォルダー構造に配置したChildPluginsがあります(フォルダー構造の画像を参照)。ソースコントロールとしてSVNを使用したので、すべてのフォルダーに.SVN
フォルダーがあります。
これが私の質問です:
下の画像は、プラグインのディレクトリ構造です。すべてのフォルダには、プラグインに関連するいくつかのファイルがあります。次に、Pre Built Eventを使用して、すべてのフォルダー(およびサブフォルダー)とそのファイルをアプリケーションビルドの出力パスにコピーします。
ネットで検索したところ、XCopyを使用することで、自分がやりたいことを達成できることがわかりました。以下のコードを使用すると、プラグインディレクトリとそのファイルをコピーできますが、サブフォルダとサブフォルダファイルをコピーできません。
xcopy "$(SolutionDir)Plugins\*.*" "$(SolutionDir)Windows\Host\Host.GUI\bin\x86\$(ConfigurationName)\Plugins\" /Y/D
フォルダーをコピーします。すべてのファイルを含むすべてのサブフォルダーであり、.SVN
を除外します。誰かが私を指摘することはできますか?
ありがとう。
サブディレクトリ(空のものも含む)をコピーするには、/ Eスイッチを追加する必要があります。
私はこれを使用しました:
xcopy "$(ProjectDir)MyFolder\*.*" "$(SolutionDir)ConsoleApplication1\bin\Release\MyFolder" /Y /I /E
すべてのドキュメントを含むプロジェクトをコンパイルすると、フォルダー 'MyFolder'が 'Release'フォルダーに表示されます。
ここで指摘すべきことは、$(SolutionDir)の後のパスがソリューションの名前に応じて変化することです。私のソリューションはConsoleApplication1です。
ソリューション名または構成タイプのパスを必要としない場合は、次のようにします。
xcopy "$(ProjectDir)MyFolder\*.*" "$(TargetDir)\MyFolder" /Y /I /E
Assetsフォルダー(プロジェクトフォルダーにあります)をbin(debugまたはrelease ...)\ Assetsにコピーする例を次に示します。
<Target Name="BeforeBuild">
<Exec Command="xcopy "$(ProjectDir)Assets\*.*" "$(ProjectDir)bin\$(Configuration)\Assets" /Y /I /E" />
</Target>
二重引用符は特別な単語に置き換えられます