方法の追加、既存ディレクトリツリーのプロジェクトにVisual Studio?
-
23-08-2019 - |
質問
問題は簡単ですね。の代わりにフォルダを作成するビジュアルスタジオを作りたいディレクトリ構造のための私のプロジェクトのファイルシステム。いすべてのフォルダやファイルのプロジェクトの構造ですか?
い"の追加、既存のファイル"フォルダの名前のサービスとナビゲートファイルのディレクトリ構造..サービス>AccountManagement>CreateAccount.cs、Visual Studioのように:サービス>CreateAccount.cs.したいと思わない。
私は全体のディレクトリ構造を出て、私を模擬した当社のクライアント開発者と同じ構造のための組織です。いすべてのフォルダやファイルのプロジェクトVisual Studio?または私にとってのMicrosoftユーザが、"み"を毎フォルダを通してVisual Studio?
他のヒント
は、Visual Studio 2015では、これはあなたがそれを行う方法です。
あなたは自動的に特定のフォルダ以下のすべての子孫ファイルをインクルードしたい場合:
<Content Include="Path\To\Folder\**" />
これは、指定したパス内のファイルのみを含めるように制限することができます:
<Content Include="Path\To\Folder\*.*" />
または指定した拡張子を持つだけでもファイルます:
<Content Include="Path\To\Folder\*.jpg" >
参考: http://jamesrpatterson.com/blog/自動含ん・イン・プロジェクトのためのビジュアル・スタジオの
コピー&ペースト.
追加フォルダのすべてのサブディレクトリにファイルを作成したコピーペーストです。例えばできる:
右クリックWindows explorerには、フォルダにコピーし、フォルダに多くのファイルやフォルダの中に別のフォルダを作
そしてVisual Studioソリューションエクスプローラの右クリックし、目的のフォルダをクリックでペーストします。
オプションに追加投資を維持しながら、生産性を高;そのフォルダを右クリックし、キャセイパシフィックへの投資を維持しながら、生産性をチェックすべてのサブフォルダやファイルです。
利用できるシンボリックリンクです.この変更はファイルを一つのプロジェクトの内容を変更し、その他では実際に同じファイル).
このためには:
- 開cmd迅速かつ管理者として
- mklink/d[現在のプロジェクトディレクトリ名][ディレクトリを他のプロジェクトですべき点】
これの欠点を、落とし穴が使用した重複図書館を必要とする異なる。
編集のためのAnoop:追加する手順をビジュアルスタジオ:
- 作成リンクプロジェクトのフォルダを使用できます。
- Visual Studio...選択プロジェクトソリューションエクスプローラ.
- のソリューションエクスプローラ...をクリックし、すべてのファイルボタンをクリックしま倍の場合は既にすることができます。-
- のリンクまたお客様のプロジェクトに...右クリックし選択などのプロジェクト.
これらの手順を追っていく作品のカップルで異なる。
Yuchenの答えの上で拡張するには、リンクなどのファイルとパスを含めることができます。それはあなたのプロジェクトのフォルダ構造内の余分なコピーを作成していないので、これは既存の項目を追加することと同じではありません。あなたが別の多くの場所で使用される1つのカノニカルのフォルダ/ファイルなどをしたいが、あなたはそれだけの1バージョン/コピーを維持したい場合に便利です。
ここでは、あなたがリンクを作成する*.csproj
ファイルに追加することができるものの一例である。
<Compile Include="$(Codez)\z.Libraries\Common\Strings\RegexExtensions.cs">
<Link>Helpers\RegexExtensions.cs</Link>
</Compile>
<Compile Include="..\..\z.Libraries\MoreLINQ\MoreLinq\ExceptBy.cs">
<Link>Helpers\ExceptBy.cs</Link>
</Compile>
<Content Include="C:\Codez\Libs\Folder\OtherFolder\**\*.*">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
$(Codez)
は私が定義されたWindows環境変数で、あなたは同じように内蔵された環境変数を使用することができます。
最後の例のグループは、私が最終的な出力に必要なコンテンツファイルの束です。 https://stackoverflow.com/a/11808911/492 とその上の多くのためそこに他の回答&リンクを参照してください。
https://msdn.microsoft.com/en-でその他のMSBuild情報私たち/ライブラリ/ bb629388.aspxする
私は=含めるコンパイルでこれを行う方法を見つけたと思う「\コード***。CS」 私が望んでいたことは、私のコードフォルダの下に再帰的にコードを含めることです。
ここでは、プロジェクトファイルのサンプルがあります。
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="15.0" DefaultTargets="BuildTarget">
<PropertyGroup>
<OutputType>Library</OutputType>
</PropertyGroup>
<PropertyGroup>
<StartupObject />
</PropertyGroup>
<PropertyGroup>
<RootNamespace>Autogen</RootNamespace>
</PropertyGroup>
<ItemGroup>
<Compile Remove="@(Compile)" />
<Compile Include=".\Code\**\*.cs" />
</ItemGroup>
<Target Name="BuildTarget">
<Message Text="Build selected" Importance="high"/>
</Target>
</Project>
Visual Studioの2013年に、私は得ることができなかったときに右クリックし、フォルダ上で動作するように、「プロジェクトに含めます」。どのような仕事をしたことは「プロジェクトに含める」を選択し、その後、すべてのファイルを選択し、フォルダを展開しています。 (ファイルのプロパティを表示することによって、これを見ることができますが、1で各フォルダいずれかを実行する必要があるとして、それはかなり退屈だった(しかし少なくとも、あなたは一度に各フォルダ内のすべてのファイルを行うことができます)、ファイルパスを保存するために表示されますそして「相対パス」オプションを見ている。)
私は、Visual Studio Installerプロジェクトでのいくつかのデータファイルを展開するためにこれを使用することを望んでいます、そして、インクルードファイルをピックアップし、そのパスを保存するようです。
私が知る限り、VS2010でこれを行うための唯一の方法は、ドラッグアンドドロップする方法に似ています。右のどのプロジェクトを追加するソリューションをクリックします。アプリケーションメニューは...項目を追加する必要があります。それを開くと、あなたは、オプションのいずれかを溶液に既存のプロジェクトを追加することであることがわかります。
開いたダイアログボックスで、ソリューションのプロジェクトファイルを含むフォルダに移動して選択します。 VSは、そのプロジェクトファイルをインポートするの一環として、また、私はそのプロジェクトの一部である任意の下位のディレクトリを想定し、ディレクトリ全体をインポートします。
これは、既存のプロジェクトファイルを必要としないように、その木をプロジェクトに変換されるまで、ディレクトリツリーをインポートすることは不可能ではありません。
からない答えを思いきっかけになるかもしれないと出た。
ここではその答えいを追加したい場合には外部ソースコードをお客様のプロジェクトを行わないコピー全体のコードです。私は多くの依存関係その他の研究科および更新時間のない場合の詳細これができないコピーを一時間毎に同期する。こちらう必要があります。
この構造:
/root/projA/src
/root/projA/含まれ
/root/projB/src
/root/projB/含まれ
/root/yourProj/src
/root/yourProj/含まれ
- トVSます。
- 右クリックしてプロジェクト名の右下記のソリューションとなります。
- をクリックし、"追加""新フィルター"を入れて、名前"projA"をprojA.
- 右クリックし"projA"、"追加"をクリックし、"新フィルター"を入力名は"src"
- 右クリックし"projA"、"追加"をクリックし、"新フィルター"を入力名を含む"
- 右クリックし"projA"/"src"、"追加"をクリックし,"既存のアイテム"その閲覧に/root/projA/srcの追加をすべてソースコードにより、主流になりつつあるのも思いのまま。
- いじめ"projA"/"を含む"
いじめprojB.現在、外/既存のプロジェクト外において存在するソリューション-プロジェクト.に対すコンパイルされていったといわれている。こちらではですよね。以降、projAとprojBは仮想フォルダの下、プロジェクトのコンパイラがないのprojA/。
っていることを確認してください、projAれ、右クリックし、プロジェクトを選択し、"Properties"があります。
- ナビゲート"C/C++".編集"の追加などのディレクトリ"で、projAするようになりますのでどのような"../projAれ"からの相対パスです。
一面の場合には、重複するようになりますのでヘッダファイルの除外からプロジェクト"は、"ヘッダファイル"だとうまくいかないんです。このバグを修正VS.
Visual Studio2017年より新しい支援の新しい軽量 .csproj
フォーマットとして認知されるとして"SDKフォーマット".複数の利点このフォーマットではなくリストを含むファイルやフォルダがある 含まれま, では、ファイルをワイルドカードがデフォルトで含まれる. このため、この新しい形式のファイルやフォルダを付加Explorerまたはコマンドライン-まげを指定します。
SDKの形式 .csproj
ファイル 現在は、以下のプロジェクトの種類:
クラス図書館事業
コンソールアプリ
ASP.NET コアによるwebアプリ
.ネコアプロジェクトの任意の型
用の新しいフォーマットを作成します。ネコます。純標準のプロジェクト.でのテンプレートが追いつ更新しました。NETフレームワークでも、Visual Studio2019年には、作成.NETクラスライブラリが選べます。純標準図書館のテンプレート、編集、プロジェクトファイルに目標の枠組みのバージョンのインプリケーションの新しいスタイルのプロジェクト形式で編集できる内視したスタジオで右クリックし、プロジェクトのソリューションエクスプローラを選んで"編集プロジェクトファイル").例えば:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net46</TargetFramework>
</PropertyGroup>
</Project>
さらに読む: