1

アプリケーションのすべての依存関係が (GAC ではなく) フォルダーにあることを確認する方法は?

たとえば、B、C、D、E の 4 つの依存関係を持つアプリケーション A があるとします。

ビルド後、フォルダーがあります。

\ForDeployment\A.exe
\ForDeployment\B.dll
\ForDeployment\E.dll

何らかの理由で、2 つのアセンブリ (C と D) がフォルダーにありません。

フォルダにないアセンブリを特定するにはどうすればよいですか? すべてのビルドで起動できるコードまたはコマンドライン ツールを探しています。

編集:

次の理由により、「ローカルにコピー」設定の変更は関係ありません。

  • 私は何百もの解決策を持っています。開発者はいつでも、この設定を間違ったものに変更する可能性があります (または、"Copy local"="false" を使用して新しい依存関係を追加します)。私が探しているツールは、この問題も解決するはずです

  • GAC にある依存関係が結果フォルダーにコピーされることはありません (VS2010 の場合)

4

2 に答える 2

1

問題の依存関係に対してCopy Localを設定するだけです。trueそうすれば、アセンブリのコピーをローカルに確実に持つことができます。

于 2013-01-21T17:40:47.277 に答える
0

次のようなことができます:

if(!FileExist)
     Output message "Missing File"

プログラムを起動するたびに、依存関係ファイルごとにそれを実行するだけです。しかし、コメントでの Gabe のアドバイスに従い、すべての依存関係で Copy Local を true に設定します。

于 2013-01-21T17:40:05.820 に答える