こんにちは。
文系卒×現役SIerの AiCas(アイキャス) です。
Visual Studio(以下 VS)を初めて触ったとき、
こんなことで悩んだことはありませんか?
.cs、.sln、.csprojの違いが分からない- ソースコードを「どうやって」修正するのか分からない
- ビルドって何?コンパイルと何が違うのか分からない
- アプリをどうやって起動するのか分からない
- 設計書を書いたけれど、どのソースコードを修正するか分からない
これらは VS初心者あるある ですが、
新人時代の僕は「何が分からないのかすら分からない」状態でした。
この記事では、
VS初心者が最初につまづくポイントを
実体験ベースで整理します。
Visual Studioで初心者が迷う原因は、
操作や技術力ではなく
「ソース・成果物・開発環境の役割を知らないこと」です。
.cs? .sln? .csproj?
どれがプログラムなのか分からなかった
Visual Studioのプロジェクトフォルダを開くと、
次のようなファイルやフォルダが並びます。
.cs.sln.csprojbinobj
新人時代の僕は、本気でこう思っていました。

どれがアプリ本体?
どれを直せば動きが変わるの?
結論を先に書くと
- .cs → プログラムの中身(ソースコード)
- .sln → プロジェクト全体をまとめた入り口
- .csproj → そのプロジェクトの設定ファイル
でも当時は、
「全部まとめてプログラム」だと思っていました。
ソースコードはあるのに、どうやって修正するのか分からない
「ソースフォルダに .cs がある」
ここまでは分かりました。
でも次の疑問で止まります。

どうやってこのプログラムを修正するの?
今なら当たり前ですが、正しい流れはこうです。
.slnをダブルクリック- Visual Studioが起動
- ソリューション構成が読み込まれる
当時の僕はこれを知らず、ファイルを直接メモ帳で開いていました。
- VSが起動しない
- どうやって編集するのか分からない
と本気で悩んでいました。
ビルドって何?コンパイルと何が違うの?
新人時代、よく言われたのがこの一言です。
「一回ビルドして」
でも内心は、
- ビルドって何?
- コンパイルと何が違うの?
という状態でした。
後から分かった整理
- コンパイル
→ ソースコードを機械語に翻訳すること - ビルド
→ コンパイル+リンクなどをまとめて
exeやdllという成果物を作ること
当時の僕は、
ビルド=なんか実行前に押すボタン
くらいの認識でした。
アプリをどうやって起動するか分からなかった
VSで F5 を押せばアプリは起動します。
でもそれは デバッグ実行 です。
それならば、VSを使わずにどうやって起動するの?
が分かっていませんでした。
正解はシンプル
binフォルダに生成された .exe を起動する
でも当時は、
exe = アプリそのもの
という発想がなかったんです。
リリース=ソースコード一式を渡すと思っていた
これも完全な勘違いでした。
新人時代の僕は、
リリースするときはソース一式を渡して.sln を開いて起動する
と本気で思っていました。
事実として、業務ツールの作成を担当し、
完成後にソースコード一式をお客様へ提供した経験があります。
※当時は、責任者による簡単なソースレビューのみが行われ、
その後の説明や引き継ぎは最小限のまま進行していました。
実際はこう
- リリースするのはビルドされた成果物
- ソースコードや
.slnは 開発用
この区別ができていなかったんです。
設計書とソースコードが結び付かなかった理由
一番困っていたのが、ここでした。
- 設計書は読める(つもり)
- ソースは開ける
- でも対応関係が分からない
原因は単純でした。
プログラム全体がどういう構造で動いているか分かっていなかった
- 画面のソースコード
- 画面とビジネスロジックをつなぐソースコード
- ビジネスロジックのソースコード
いわゆるMVCモデルの構造が頭に入っていなかったため、
どこを修正すれば設計書通りになるのか理解できていませんでした。
今なら分かる「本当につまづいていたポイント」
今振り返ると、
VSで迷っていた原因は 操作 ではありません。
- どれがソースコードか
- どれが成果物か
- どこから起動するか
- どこを直すと何が変わるか
この 役割(構造)の整理 ができていなかった。
これは後から応用情報技術者試験を勉強して気づいたのですが、
- 開発環境
- ソースコード
- ビルド成果物
- リリース物
という区別そのものが、前提知識 だったんです。
新人時代の私は、その前提をまだ持っていませんでした。
※当時はちょうど基本情報技術者試験を勉強している最中でしたが、
試験知識と実務の構造が、頭の中でまだ結びついていない状態でした。
後輩に今ならこう説明する
もし今、当時の自分に説明するならこう言います。
- プログラムを書くのは .cs
- Visual Studioは 作業台
- ビルドすると exe / dll ができる
- リリースするのは 成果物
- 設計書は ソースの地図
VSが難しかったんじゃない。
前提を誰も教えてくれなかっただけでした。
まとめ|Visual Studioで迷う理由
Visual Studioで迷っていた頃の自分は、
- 操作が分からなかった
- 技術力がなかった
のではなく、
「何を触っているのか」を理解していなかった
それだけでした。
このブログでは、
こうした 実務での思考のズレ を
後から一つずつ言語化していきます。
同じところで立ち止まっている人の
「次にどこを見ればいいかが分かる地図」
になれば嬉しいです。

コメント