3つのプロジェクトを含むソリューションがあります。あるプロジェクトから別のプロジェクトにビューをコピーする必要があります。次のように、ビルド後のイベントを介して作成したDLLをコピーできます。
プロジェクト1のファイル/Views/ModuleHome/Index.cshtmlをプロジェクト2のフォルダーにコピーしたいのですが、ビルド後のイベントを介して、目的のプロジェクトにファイルをコピーするにはどうすればよいですか?ありがとう
3つのプロジェクトを含むソリューションがあります。あるプロジェクトから別のプロジェクトにビューをコピーする必要があります。次のように、ビルド後のイベントを介して作成したDLLをコピーできます。
プロジェクト1のファイル/Views/ModuleHome/Index.cshtmlをプロジェクト2のフォルダーにコピーしたいのですが、ビルド後のイベントを介して、目的のプロジェクトにファイルをコピーするにはどうすればよいですか?ありがとう
回答:
xcopy "$(ProjectDir)Views\Home\Index.cshtml" "$(SolutionDir)MEFMVCPOC\Views\Home"
フォルダー全体をコピーする場合:
xcopy /E /Y "$(ProjectDir)Views" "$(SolutionDir)MEFMVCPOC\Views"
更新:ここに作業バージョンがあります
xcopy "$(ProjectDir)Views\ModuleAHome\Index.cshtml" "$(SolutionDir)MEFMVCPOC\Views\ModuleAHome\" /Y /I
次に、一般的に使用されるいくつかのスイッチを示しxcopy
ます。
- / I-複数のファイルをコピーする場合、ディレクトリとして扱います。
- / Q-コピーされるファイルを表示しません。
- / S-空でない限り、サブディレクトリをコピーします。
- / E-空のサブディレクトリをコピーします。
- / Y既存のファイルの上書きを要求しません。
- / R-読み取り専用ファイルを上書きします。
Ctrl+W+O
。いViews\ModuleAHome
、目標場所にフォルダが存在しますか?実行されている正確なコマンドを出力ウィンドウで確認し、xcopyコマンドのドキュメントを読んで、使用可能なさまざまなスイッチを理解しますxcopy /?
。
xcopy "your-source-path" "your-destination-path" /D /y /s /r /exclude:path-to-txt- file\ExcludedFilesList.txt
ソースパスと宛先パスの引用符に注意してください。ただし、exludelist txtファイルへのパスにはありません。
ExcludedFilesList.txtの内容は次のとおりです:.cs \
このコマンドを使用して、ソリューション内のあるプロジェクトから別のプロジェクトにファイルをコピーし、.csファイルを除外しています。
/D Copy only files that are modified in sourcepath
/y Suppresses prompting to confirm you want to overwrite an existing destination file.
/s Copies directories and subdirectories except empty ones.
/r Overwrites read-only files.
your-source-path
とに引用符を追加すると機能しyour-destination-path
ます。それらの引用がなければ、それはまったく機能しません。
"My File.txt"
。
xcopy "$(TargetDir)* $(TargetExt)" "$(SolutionDir)\ Scripts \ MigrationScripts \ Library \" / F / R / Y / I
/ F –ソースとターゲットの完全なファイル名を表示します
/ R –読み取り専用ファイルを上書きします
/ Y –既存のファイルを上書きするように求めるプロンプトを抑制します
/ I –宛先がディレクトリであると仮定します(ただしで終わる必要があります)
ちょっとしたトリック–ターゲットでは、ターゲットがファイルではなくディレクトリであることをxcopyに伝えるには、文字\で終了する必要があります。
こんな風に使っています。
xcopy "$(TargetDir)$(TargetName).dll" "$(SolutionDir)Lib\TIRM\x86\" /F /Y
xcopy "$(TargetDir)$(TargetName).lib" "$(SolutionDir)Lib\TIRM\x86\" /F /Y
/F : Copy source is File
/Y : Overwrite and don't ask me
この使用に注意してください。$(TargetDir)はすでに '\' "D:\ MyProject \ bin \" = $(TargetDir)を持っています
コマンドエディターでマクロを見つけることができます
以前の返信と同様に、私も提案していxcopy
ます。ただし、ハルゲイルエンゲンの回答を/exclude
パラメーターで追加したいと思います。引用符が機能しないため、長いまたはスペースを含むパス名を使用できないパラメーターのバグがあるようです。パス名は、 "DOCUME〜1"に変換された "Documents"を含む "DOS"形式である必要があります(このソースによると)。
したがって、\ excludeパラメータを使用する場合は、次の回避策があります。
cd $(SolutionDir)
xcopy "source-relative-to-path-above" "destination-relative-to-path-above
/exclude:exclude-file-relative-path
ソースパスと宛先パスは引用符で囲むことができます(スペースが含まれている場合は、引用符で囲む必要があります)。ただし、除外ファイルへのパスはできません。