8

一部のテストを実行できるように、 bin\debugディレクトリにdataInおよびdataOutディレクトリを作成する必要がある VS2010 プロジェクトがあります。

dataInディレクトリの作成は簡単です。コンテンツを含むフォルダーをプロジェクトに追加し、そこに含まれる各ファイルの [出力ディレクトリにコピー] プロパティを [常にコピー] に設定するだけです (またはプロジェクト ファイルを編集して、ワイルドカードを使用してSOの他の回答で示唆されているように、すべてのファイルをキャッチします)-ファイルをコピーできるように、ディレクトリはVSによって自動的に作成されます。

私の質問:必要なときにdataOutディレクトリが自動的に作成されるようにするにはどうすればよいですか?

そこに入るファイルがないため、ItemGroup 内のこのディレクトリには何もありません。ディレクトリのエントリを手動でプロジェクト ファイルに追加すると、次のエラーが発生します。

"<path>\dataOut" is actually a directory.  The "Copy" task does not support copying directories.

(編集: イタリック体が機能するように、ディレクトリ名からアンダースコアを削除しました!)

4

4 に答える 4

6

私がこれまでに管理してきた方法の 1 つは、ダミーのテキスト ファイルをフォルダーに追加し、その [出力ディレクトリにコピー] プロパティを [常にコピー] に設定するというかなり明白な手順です。また、後でダミー ファイルを削除するためのビルド後の手順も追加し、空になったディレクトリを残しました (ただし、この特定のプロジェクトでは、これは単に私の手間が原因です。そうでなければ影響はありません。そこの)。

他にもっと良い選択肢があれば知りたいのですが...

于 2012-11-02T12:29:02.210 に答える
0

このジレンマを共有したばかりなので、これを処理する最も簡単な方法は、プログラムでディレクトリを単純に作成することだと思います。

if(!Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + "yourDirectoryName"))
{
    Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory + "yourDirectoryName");
}

使用しているアプリケーションの種類はわかりませんが、winform アプリは Main メソッドでこれを行うことができ、Web アプリはさまざまな場所でこれを行うことができます。

于 2013-09-17T17:52:56.090 に答える
0

ビルド前のステップでいくつかの mkdir はどうですか?

于 2012-11-02T12:35:34.547 に答える