問題タブ [projects-and-solutions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio - Visual Studio ソリューション / 複数プロジェクト : 複数の C++ プロジェクト間でプロジェクト プロパティを効果的に伝達する方法
複数のプロジェクト (約 30) を含む Visual Studio 2005 C++ ソリューションを使用しています。私の経験に基づくと、プロジェクトのすべてのプロパティ (つまり、インクルード パス、ライブラリ パス、リンクされたライブラリ、コード生成オプションなど) を維持するのは煩わしいことがよくあります。それらを変更します。複数の構成 (デバッグ、リリース、リリース 64 ビットなど) がある場合、状況はさらに悪化します。
実際の例:
- 新しいライブラリを使用する必要があり、このライブラリへのインクルード パスをすべてのプロジェクトに追加する必要があるとします。各プロジェクトのプロパティを編集する必要がないようにするにはどうすればよいでしょうか?
- プロジェクト セットのインクルード パス / ライブラリ パス / リンクされたライブラリをすばやく変更する必要があるため、新しいバージョンのライブラリ (バージョン 2.1beta など) をテストしたいとしますか?
ノート:
- 一度に複数のプロジェクトを選択し、右クリックして「プロパティ」を選択できることは承知しています。ただし、この方法は、異なるプロジェクトですでに完全に同一であるプロパティに対してのみ機能します。異なるインクルード パスを使用していた一連のプロジェクトにインクルード パスを追加するために使用することはできません。
- また、環境オプション (ツール/オプション/プロジェクトとソリューション/ディレクトリ) をグローバルに変更できることも知っていますが、SCM に統合できないため、満足できるものではありません。
- また、ソリューションに「構成」を追加できることも知っています。維持する別のプロジェクト プロパティのセットを作成するため、役に立ちません。
- 私は、codegear C++ Builder 2009 が、いくつかのプロジェクトに継承できる、いわゆる「オプション セット」を通じて、このニーズに対する実行可能な答えを提供することを知っています (私は Visual Studio と C++ Builder の両方を使用していますが、C++ Builder は特定の側面で優れていると考えています)。 Visual Studio へ)
- 誰かが CMake などの「autconf」を提案することを期待していますが、vcproj ファイルをそのようなツールにインポートすることは可能ですか?
visual-studio - Visual Studio プロジェクト プロパティのさまざまな "ビルド アクション" 設定とは何ですか?
ほとんどの場合、Visual Studio がデフォルトとして設定するものをそのまま使用します。ここでは、ソリューション エクスプローラーで選択された各ファイルのBuildActionプロパティを参照しています。いくつかのオプションがあり、それぞれが何をするかを知るのは困難です。
visual-studio - C# での大規模な winforms アプリケーションのプロジェクトと依存関係の構造化
更新:
これは私の最も多く寄せられる質問の 1 つですが、それでも自分のプロジェクトにとって満足のいく解決策はまだ見つかっていません。別の質問への回答で読んだ 1 つのアイデアは、リストから選択したプロジェクトのソリューションを「その場で」構築できるツールを作成することです。私はまだそれを試していません。
非常に大規模なアプリケーションをどのように構築しますか?
- 複数の小さなプロジェクト/アセンブリを 1 つの大きなソリューションにまとめていますか?
- いくつかの大きなプロジェクト?
- プロジェクトごとに 1 つのソリューションですか?
また、ソリューションが 1 つもない場合、依存関係をどのように管理しますか。注: Google で見つけた回答ではなく、経験に基づいたアドバイスを求めています (自分でできることです)。
私は現在、80 以上の dll を持つアプリケーションに取り組んでおり、それぞれが独自のソリューションになっています。依存関係の管理はほぼフルタイムの仕事です。依存関係の dll をあちこちにコピーするための機能が追加されたカスタムの社内 'ソース管理' があります。私には次善の解決策のように思えますが、より良い方法はありますか? 80 のプロジェクトでソリューションに取り組むことは、実際にはかなり大雑把になると思います。
(コンテキスト: Web ではなく、winforms)
編集:(これが別の質問だと思う場合は、コメントを残してください)
以下の間に相互依存関係があるように私には思えます。
- アプリケーションのプロジェクト/ソリューション構造
- フォルダ/ファイル構造
- ソース管理の分岐構造 (分岐を使用する場合)
しかし、これらを分離して個別に検討することは非常に困難です。
ここで別の関連する質問をしました。
visual-studio - 複数の Visual Studio バージョンにわたるプロジェクトの依存関係
3 つの .net プロジェクトがあります。
Project1.dll は、VS2008 プロジェクトによって生成されます。
Project2.dll は、Project1.dll を参照する VS2005 プロジェクトによって生成されます。
Project3.dll は、Project1.dll と Project2.dll の両方を参照する VS2008 プロジェクトによって生成されます。
現在、Project1.dll をビルドし、Project 2 が取得できる場所に手動でコピーしています。
次に、Project2.dll をビルドし、それと Project1.dll を Project 3 が取得できる場所に手動でコピーします。
明らかに私は何か間違ったことをしています(手動)。プロジェクトの参照を最新の状態に保つ正しい方法は何ですか?
Project2 を VS2008 に更新してから、3 つのプロジェクトすべてを含む 1 つのソリューションを作成することは、現時点ではオプションではありません。VS2008 ではまだ動作しないサードパーティの VisualStudio プラグインがあります。Project2 は VS2005 のままにする必要があります
Project1 と Project3 を VS2005 に更新解除してから、1 つのソリューションを作成することもできません。これらのプロジェクトでは、C# 3.0 と .net 3.5 の機能に依存しています。
.net - 共通ユーティリティ ライブラリを構築する最良の方法は何ですか?
さまざまなプロジェクトで使用できる共通のユーティリティ ライブラリを構築する最良の方法は何だろうと思っています。私は.NetとC#を使用しています。
Logging、Authentication、Excel などのユーティリティごとに個別のプロジェクトを作成し、それらを依存関係と共に個別にリリースする必要がありますか、それともすべてのユーティリティを 1 つの共通のユーティリティ アセンブリに含め、すべての依存関係をバンドルして、プロジェクトで必要な依存関係のみを参照する必要がありますか?共通のユーティリティを使用しますか?
visual-studio - Visual Studio でプロジェクトをアンロードするときの参照についてはどうしていますか?
Visual Studio でプロジェクトをアンロードすると、参照しているプロジェクトには、アンロードされたプロジェクトへの参照に関する三角形の警告が表示されます。私は巧妙なことを行うためのマクロを自分で作成しました (プロジェクトの追加/削除を検出し、ファイル/プロジェクトの依存関係からの参照を変換します) が、もっと単純なものが欠けていないとは信じられません。手動で参照を変更する必要がある場合、アンロード機能はどのように使用できますか (そして、「個人的なソリューション/共有プロジェクト」チーム開発パラダイムを壊します)。
(この質問は、Visual Studio での大規模なソリューションの構築に関するこの質問への回答に関連しています。多くのプロジェクトを含むソリューションを持っているが、パフォーマンスを向上させるために未使用のプロジェクトを「アンロード」するという回答もありました。)
projects-and-solutions - ソフトウェア ソリューションの 3 つの落とし穴 (以下) を回避するための体系的なアプローチはありますか?
- すでに存在し、再利用可能なソフトウェア ソリューションの開発 (商用またはオープンソースのいずれか)。別名「車輪の再発明」。
- 上記と同じですが、ソリューションが壊れています。別名「四角い車輪の再発明」。
- 存在しない問題の解決策を開発する。
ここでも、 TRIZなどのより形式的なアプローチに興味があります。
c# - 既存のプロジェクトを発見する最良の方法は何ですか?
最近、私はこれまで見たことのない C# ソリューションを発見し、それをリファクタリングするための提案をするというタスクを与えられました。NDepend を (初めて) 使用して全体像を把握し、多くのコード メトリックをチェックして、リファクタリングできるものを見つけようと思います。NDepend は、プロジェクトの構造を示すのが得意だと思います。
私の質問はより一般的なものです。初めて目にするコードを発見し、その構造を理解する必要があるコードを発見するための最良の方法は何だと思いますか? (残念ながら、論理設計のドキュメントはなく、コードのコメントも不十分です。)
visual-studio - Visual Studio 内からプロジェクト フォルダーの名前を変更するにはどうすればよいですか?
プロジェクトフォルダーの名前を変更するための私の現在の解決策は次のとおりです。
- プロジェクトをソリューションから削除します。
- Visual Studio 以外でフォルダーの名前を変更します。
- プロジェクトをソリューションに再度追加します。
より良い方法はありますか?
visual-studio - Web プロジェクトと同じディレクトリに Visual Studio ソリューション ファイル (.sln) を作成するにはどうすればよいですか?
私は VisualSVN クライアントとサーバーを使用しています。Web プロジェクトが期待どおりに動作するための要件の 1 つは、.sln を他のファイルと同じディレクトリ (ルート) に置くことです。
余分な親パス ../ およびその他の相対パスをすべて削除して保存するのと同じくらい簡単だと思いました。ただし、開こうとすると、Visual Studio がロックされます。
このタイプのソリューション ファイルを作成する標準的な方法や、有効であることを確認するためのソリューション ファイル ツールはありますか? それとも、非常に明白な何かが欠けているだけですか?
どうやらトリックは、少なくとも私が探していたものは、..\MyWebsite.org または Web サイト ファイルを含むフォルダーを使用する必要があることです。
[編集] 私が学んだことと、この特定のプロジェクトの最終的な .sln ファイル:
これは、Web サイトを開いて Web フォルダーのルートに .sln を配置できる最終的なソリューション ファイルです。