問題
既存のGitHubプロジェクトがあり、そこに対して、思った通りのディレクトリ構成でVSのプロジェクトを作りたい。
普通にテンプレートを作成すると、ディレクトリを掘ってしまう。
理想的には
Keda.Durable.Scale.sln
src
- Keda.Durable.Scale.Server
- Keda.Durable.Scale.Server.csproj
- Message
- Keda.DurableScale.Message.csproj
test
- Keda.Durable.Scale.Server.Test
- Keda.Durable.Scale.Server.Test.csproj
みたいにしたい。この作戦を踏襲。
解法
Solution の場所を調整する
クローンした一つ上のディレクトリに行き、クローンしたディレクトリの名前を指定する。
クローンしたディレクトリは、keda-durable-scaler
だったので、一つ上のディレクトリを最初の画面で指定する。
こんな感じ。
その後、VisualStudioが起動したら、ソリューションを右クリックで、名前を変更する。すると、ソリューションファイルの実体もそれに変えてくれる。
Csproj ファイルの場所を調整する
Visual Studio の中でディレクトリを掘って、そこにプロジェクトを作成しても思った通りにならない。Visual Studio の中からはいい感じなのだが、実際のディレクトリは違う。
実際のディレクトリ
直下にできてはるし、、、
$ ls
CODE_OF_CONDUCT.md Keda.Durable.Scaler.sln LICENSE SECURITY.md
Keda.Durable.Scaler.Server/ keda-durable-scaler/ README.md
ちなみに、VSの中で削除しても、実体はのこっている。
実際のディレクトリ
$ ls
CODE_OF_CONDUCT.md Keda.Durable.Scaler.sln LICENSE SECURITY.md
Keda.Durable.Scaler.Server/ keda-durable-scaler/ README.md
先にディレクトリを作成して指定する。
PowershellやBashで先にディレクトリを作成しておく。さらに、先ほどやったように、VSの内部でも、ディレクトリを先に指定しておく。
CODE_OF_CONDUCT.md keda-durable-scaler/ README.md src/
Keda.Durable.Scaler.sln LICENSE SECURITY.md tests/
プロジェクト作成時にテンプレート指定時に、Locationで、ディレクトリを指定する。
実際のディレクトリ
思った通り
PS > tree .
▒▒▒▒src
▒ ▒▒▒▒Keda.Durable.Scaler.Server
▒ ▒▒▒▒bin
▒ ▒ ▒▒▒▒Debug
▒ ▒ ▒▒▒▒netcoreapp3.0
▒ ▒▒▒▒obj
▒ ▒▒▒▒Debug
▒ ▒▒▒▒netcoreapp3.0
▒▒▒▒tests