1. ホーム
  2. asp.net-mvc

1つのソリューションで、複数のプロジェクト間でスクリプトを共有するにはどうすればよいですか?

2023-11-07 01:25:43

質問

質問が明確でなかった場合に備えて。私は1つのソリューションで3つのMVCプロジェクトを持っています。新しいプロジェクトを作成するたびに、私が必要とするすべての.jsファイルを含む"Scripts" フォルダが追加されます。アプリケーションごとに毎回これを作成する必要はありません。すべてのアプリケーション/プロジェクトが、それらの間で共通するすべてのスクリプトを含む 1 つの共通のスクリプト フォルダを共有できるように、ソリューションの中央フォルダからスクリプトを参照する方法はあるでしょうか?

編集してください。 このようなことをするメリットとデメリットがあれば説明してください・・・今、気になっています。

どのように解決するのですか?

以下がおすすめです。

ソリューションを右クリックし 新しいソリューション フォルダー という Common Javascript Files (という名前の新しいソリューションフォルダを作成します(または、あなたがそれを呼びたいと思うものなら何でも構いません)。

<イグ

ソリューションの上で右クリックし Windows エクスプローラーでフォルダーを開く , または、他のバージョンの Visual Studio の場合は手動でそこに移動します :(

ソリューション ディレクトリに、ソリューション フォルダと同じ名前のディレクトリを作成します (ソリューション フォルダは通常、ソース コード レベルのディレクトリと一致しませんが、衛生上の理由からこのようにします)。

この新しいディレクトリに、ソリューション間で共有する必要があるファイルを追加します。

Visual Studio で、ソリューション フォルダーをクリックし 追加 - 既存のアイテム .

ファイル選択ダイアログで、前に作成したディレクトリに移動し、そのディレクトリに追加したファイルを選択して 追加 .

共有ファイルが必要な各プロジェクトで、プロジェクト (またはプロジェクト内のディレクトリ) を右クリックし 追加 - 既存のアイテム .

共有ディレクトリに移動し、ファイルを選択して ドロップダウン矢印をクリックします。 をクリックします。 リンクとして追加 .

現在、プロジェクト内のファイルは、本質的にソリューション フォルダ内のファイルへのショートカットです。 しかし、それらはプロジェクト内の実際のファイルとして扱われます (これには .CS または Visual Basic ファイルが含まれ、それらはプロジェクト内に実際に存在するファイルとしてコンパイルされます)。

プロス

  • でのプロジェクト間でのファイル共有が可能です。 設計時
  • 各プロジェクトに必要なファイルのみを追加することができ、オール・オア・ナッシングではありません。
  • IIS の設定(仮想ディレクトリなど)は不要。
  • ソリューションが TFS ソースコントロールである場合、ディレクトリを TFS ソースに追加すれば、共有ファイルはソースコントロールされます。
  • プロジェクトでファイルを選択して編集すると、実際のファイルを編集することになります。
  • リンクされたファイルを削除しても、ファイルは削除されません。
  • これは JS ファイルに限らず、リンクされたファイルは ANY ファイル(画像、CSS、XML、CS、CSHTML など)でもかまいません。

CONS

  • 各デプロイメントが独自のファイルを取得します。
  • Solution フォルダが Solution ディレクトリに存在するディレクトリではないことを理解する際に、少し学習曲線があります。