1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Visual Studio】1つのプロジェクトに、プロジェクトをまとめてブチ込む(VB / C#)

Posted at

Visual Studioでおなじみの**.vbproj**/.csprojファイルから、コマンドを使って
まとめてプロジェクトを追加する方法を紹介します。

1つにまとめることで、関数などの参照がめちゃめちゃ楽になります!

プロジェクトの中にプロジェクトを入れて階層に出来るのですが
会社で使うような数百のプロジェクトを手動では流石にキツイですからね、、

#1. Visual Studio のコマンド画面を立ち上げる#
名称未設定.png

#2. 追加したいプロジェクト達がいる、フォルダに移動#
立ち上げたコマンド画面から cdコマンドで移動

cd {フォルダパス}

{フォルダパス}の部分は、.vbproj/.csprojが存在する中で一番上のパスにします

#3. プロジェクトファイル一覧を取得#
vbprojかcsprojか両方かによってどれかを選んでください

##vbprojだけなら##

dir /S /B *.vbproj

##csprojだけなら##

dir /S /B *.csproj

##vbprojとcsproj両方あるなら##

dir /S /B *.vbproj *.csproj

##プロジェクトファイルの一覧が出る##
何れかのコマンドを実行すれば、↓のように一覧が出ます。
image.png

#4. 元になるプロジェクトを作る#

dotnet new sln

現在のフォルダに新しい.slnファイルが作成されます
ここで作成した物に追加していくので、.slnのファイル名を後で使用します
#5. プロジェクト追加コマンドを叩く#

dotnet sln {ソリューション名}.sln add {projファイルのパス}

のように、すべてのファイルに行います。

##エディタにファイルパスをコピー##
先ほど取得した.vbproj/.csproj のファイルパスを丸ごとコピーし
テキストエディタに貼り付けます。

dotnet sln {ソリューション名}.sln add を頭に加えて以下のようにします。

dotnet sln repos add C:\source\repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.vbproj
dotnet sln repos add C:\source\repos\ConsoleApp3\ConsoleApp3\ConsoleApp2.vbproj
dotnet sln repos add C:\source\repos\ConsoleApp3\ConsoleApp3\ConsoleApp3.vbproj
dotnet sln repos add C:\source\repos\ConsoleApp2\ConsoleApp2\ConsoleApp4.csproj
dotnet sln repos add C:\source\repos\ConsoleApp2\ConsoleApp2\ConsoleApp5.csproj

##コマンド画面にペースト##
エディタに用意したコマンドを丸ごと貼り付ける

※一行づつ貼り付けなくて大丈夫です そのままでよしなにやってくれます

#6. 4で作成したslnを開く#
プロジェクトが全部追加されてるはず、、!

これで参照が簡単になりますが、プロジェクト数が多い場合
最初の読み込みがクッソ遅くなます(´・ω・`)

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?