問題タブ [dependencies]
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.
.net - .NETソリューションから「依存関係ツリー図」を作成するにはどうすればよいですか。
Visual Studio .NETプロジェクト内から、単一のプロジェクトがどのプロジェクトとdllを参照しているかを簡単に確認できます。
依存関係のグラフをプロットするために使用できる完全な依存関係ツリーを構築できるアプリケーションまたはリフレクションの使用法はありますか?
function - MATLAB で関数の依存関係のリストを生成するにはどうすればよいですか?
私が書いた他の関数に依存する私が書いた関数を配布するには、私が書いたすべての m-file を配布せずに、独自の依存関係を持つ関数などを配布するには、依存関係の完全なリストが何であるかを把握する必要があります。与えられた m ファイルに対して。これを行う組み込み/自由にダウンロード可能な方法はありますか?
具体的には、MATLAB 7.4.0 (R2007a) のソリューションに興味がありますが、古いバージョンで別の方法がある場合は、ぜひここに追加してください。
c++ - 別の出力ディレクトリの GCC 依存関係の生成
GCC を使用して依存関係ファイルを生成していますが、ビルド ルールによって出力がサブディレクトリに配置されます。GCC が生成する依存関係ファイルにサブディレクトリのプレフィックスを入れるように GCC に指示する方法はありますか?
java - 依存関係をtarget/libにコピーするようにMavenを作成します
target/lib
プロジェクトの実行時の依存関係をフォルダー にコピーするにはどうすればよいですか?
現在のようにmvn clean install
、target
フォルダーにはプロジェクトのjarのみが含まれ、実行時の依存関係は含まれていません。
continuous-integration - 継続的インテグレーションでは、外部アプリケーションの依存関係に対処するための最良の方法は何ですか?
TeamCity 継続的インテグレーション サーバーを使用することで、最適な処理方法について不明な問題がいくつか明らかになりました。つまり、アプリケーションが CI サーバー上で必要とする外部アプリケーションを参照する方法です。
これは、Crystal Reports への依存関係で最初に明らかになったため、Crystal Reports をサーバーにインストールして差し迫った問題を修正しました。ただし、より多くのアプリケーションを CI サーバーに移行するにつれて、より多くの依存関係が見つかります。
ここでの最善の戦略は何ですか?サーバーに必要なアプリケーションをインストールし続けることですか?
ありがとう
c# - 循環依存
WinForms を使用した MVC パターンに基づく通常の顧客注文アプリケーションを考えてみましょう。ビュー パーツが大きくなりすぎて (4000 ファイル以上)、小さいパーツに分割する必要があります。
この例では、ビュー パーツに 3 つのプロジェクトを使用します。
- Main - 他の 2 つのプロジェクトに依存しています。リストを使用してフォームをインスタンス化します。
- 顧客- 顧客リストと顧客詳細の 2 つのフォームがあります。
- 注文- 注文リストと注文詳細の 2 つのフォームがあります。
顧客詳細フォームには、その顧客の注文リストもあります。リストは OrdersController から受け取るので、問題なく取得できます。ユーザーが注文を選択すると、リストはその GUID を取得し、それを [注文の詳細] フォームへの参照として渡します。
これは、Customers プロジェクトの Orders プロジェクトへの参照が必要であることを意味します。 (1)
しかし、注文詳細フォームにも、その注文を行った顧客へのリンクがあります。クリックすると、Customer Details フォームが開きます。
これは、Orders プロジェクトに Customers プロジェクトへの参照が必要であることを意味します。 (2)
(1) と (2) から、Orders プロジェクトと Customers プロジェクトの間に循環的な依存関係があります。
どうすればこれを回避できますか? ある種のプラグイン アーキテクチャ?プロジェクトはすでに開発されており、最適なソリューションはコードの変更をできるだけ少なくすることです。
.net - Visual Studio での .NET 以外の依存関係の指定
P/Invoke を使用してプロジェクトから非 .NET dll を呼び出しています。つまり、.dll は常に .exe のディレクトリに存在する必要があります。
コンパイル時に.dllを出力ディレクトリに自動的にコピーし、.dllをセットアップに自動的に含めるように、この依存関係をVisual Studioに伝える方法はありますか? または、これを手動で行う必要がありますか?
unit-testing - ファイル システムに依存する単体テスト コード
ZIP ファイルが与えられた場合、次のことを行う必要があるコンポーネントを作成しています。
- ファイルを解凍します。
- 解凍されたファイルの中から特定の dll を見つけます。
- リフレクションを介してその dll をロードし、メソッドを呼び出します。
このコンポーネントを単体テストしたいと思います。
ファイルシステムを直接扱うコードを書きたくなります:
しかし、「ファイル システム、データベース、ネットワークなどに依存する単体テストを作成しないでください」とよく言われます。
これを単体テストに適した方法で記述するとしたら、次のようになると思います。
わーい!これでテスト可能になりました。テスト ダブル (モック) を DoIt メソッドにフィードできます。しかし、どのくらいの費用がかかりますか?これをテスト可能にするためだけに、3 つの新しいインターフェースを定義する必要がありました。そして、正確には、何をテストしていますか?DoIt 関数がその依存関係と適切に相互作用することをテストしています。zip ファイルが正しく解凍されたかどうかなどのテストは行いません。
もう機能をテストしているようには感じません。クラスの相互作用をテストしているだけのように感じます。
私の質問はこれです:ファイルシステムに依存するものを単体テストする適切な方法は何ですか?
編集私は.NETを使用していますが、この概念はJavaまたはネイティブコードにも適用できます。
msbuild - MSBuild が参照先プロジェクトの参照を取得しない
ちょうど今、MSBuild で奇妙な状況に遭遇しました。LibX、LibY、Exe の 3 つのプロジェクトを持つソリューションがあります。Exe は LibX を参照します。次に、LibX は LibY を参照し、いくつかのコンテンツ ファイルを持ち、サードパーティ ライブラリ (GAC とローカル lib フォルダーの両方にインストールされたいくつかのビルド済みアセンブリ) への参照も持っています。サードパーティ ライブラリは「ローカル コピー」(「プライベート」) としてマークされ、LibY の出力および LibX のコンテンツ ファイルと同様に、LibX プロジェクトの出力に表示されます。現在、Exe プロジェクトの出力には、LibX プロジェクトの出力、LibX プロジェクトのコンテンツ ファイル、LibY プロジェクトの出力 (LibX からのもの) が含まれていますが、サードパーティ ライブラリのアセンブリは含まれていません。
Exeプロジェクトでサードパーティのライブラリを直接参照することでこれを回避しましたが、これが「正しい」ソリューションだとは思いません。
以前にこの問題を抱えていた人はいますか?