0

私は次の設定をしています:

  • メインウェブサイト-www.domain.comでホストされるMVC3プロジェクト

  • イントラネットWebアプリ-MVC3プロジェクト、Windows認証、admin.domain.comでホストされ、ローカルサブネット内からのみアクセスできます。

  • CDNWebサイト-上記の両方に画像を提供するだけのシンプルなWebアプリ。公開されると、cdn.domain.comで(公開されて)ホストされます。開発中にCDNをモックするローカルプロジェクトを設定しました。

管理パネルのユーザーが画像をアップロードできるようにするビジネスレイヤーを作成しました。画像は、構成されているCDNパス(現在はローカルマシン、つまりC:\ Code \ SolutionName \ CDNProject \ images)に物理的に保存されます。次に、メインのWebサイトは、同じビジネスレイヤーを使用して、http://cdn.domain.com/images/を介して画像を検索および配布します。開発中、 http://cdn.domain.comは現在に設定されていhttp://localhost:55555ます。

管理パネルを介してイメージを作成する場合は常に、ディスク上に物理的に作成されます。各開発者は自分のマシンで作業します。当面の間、これらのファイルをTFSにチェックインできるようにしたいと考えています。ご想像のとおり、ファイルシステムにファイルを追加しても、プロジェクト内でファイルが自動的に参照されるわけではありません。

壊れた参照

これらの画像をリソースとして参照したり、ディレクトリをある種の「コンテンツ」ディレクトリに設定したりする方法があるのではないかと思いました...しかし、何も見つかりません。

一部の開発者はVPNを介してリモートで作業し、ローカルネットワーク(TFSのみ)にアクセスできないため、ネットワークパスは許容できるソリューションではありません。

ディレクトリ内のすべてのファイルをプロジェクトに追加するために、ビルド前のイベントを設定できる可能性があると思いましたか?

4

2 に答える 2

1

それを行うための非常に簡単な方法はありません。考える方法はいくつかあります。

1)プロジェクトに新しいファイルを追加するVS追加を記述します(DTEを介して-開始点)。ビルド前のステップでこのVSアドインを自動的に実行する方法を確認してください。このアドインを開発者のマシンにインストールします。

2)管理ロジックを拡張して、アップロードされたファイルをTFSAPIを介してTFSに自動的にチェックインします

3)次のようなより高度なテクノロジを適用してみてください。T4チュートリアル:生成されたファイルをVisualStudioプロジェクトに統合する

お役に立てば幸いです。

于 2012-06-07T13:45:02.073 に答える
0

VisualStudioプロジェクトファイルにはXML構文があります。プロジェクトファイルのプロパティは、単純なテキストエディタで変更できます(ファイルの追加/削除など)。

ソリューションを開くためのスクリプトを作成できます。実際にソリューションを開く前に、そのディレクトリをスキャンして、プロジェクトファイルに(適切なXMLタグを使用して)ファイルを「挿入」できます。

プロジェクトファイルはその時点ですでにロードされており、使用中は変更できないため、これをビルド前のイベントとして追加することはできないと思います。

于 2012-06-07T14:21:37.837 に答える