10

私は次のような構造のVS2012プロジェクトを持っています:

Project
   Folder1
      file.xml
      schema.xsd
      code.cs
   Folder2
      code1.cs
      code2.cs

Copy to output directoryのプロパティを設定し、アセンブリが出力されたのと同じフォルダーに出力したいのですが()、常にフォルダーにコピーされます。プロジェクトのルートにファイルを移動せずに目標を達成する方法はありますか?file.xmlschema.xsdCopy alwaysbin\Debugbin\Debug\Folder1

4

1 に答える 1

16

ポストビルド イベント スクリプトを使用してこれを行うことをお勧めします。思ったほど忙しくなく、柔軟性に富んでいます。

  • プロジェクトを右クリックし、[プロパティ] を選択します。
  • [ビルド イベント] タブに移動し、 [ビルド後の編集... ] をクリックします。

(以下のスクリーンショットを参照)

プロジェクトのビルドが成功するたびに実行するシェル コマンドを指定できるようになりました。以下は、質問の例を実現します。

copy "$(ProjectDir)Folder1\file.xml" "$(TargetDir)"
copy "$(ProjectDir)Folder1\schema.xsd" "$(TargetDir)"

$(ProjectDir)プロジェクトに関連するそれぞれの値を挿入する$(TargetDir)マクロです。編集ウィンドウのマクロメニューからマクロを選択して挿入できます。

ProjectDirあなたのandはスペースを含む完全なパスに解決される可能性があり、スペースがそこにない場合はコマンドTargetDirが壊れるため、引用符が上に含まれています。copy

プロジェクトのプロパティを開く

投稿ビルドの編集

于 2012-10-29T14:48:26.513 に答える