展開しようとしている C# アプリケーションには、A.dll と B.dll という 2 つの重要な参照があります。
最初に、リリース フォルダー内のすべて (.dll および .pdb) をアプリケーション ファイルに含む InstallShield LE を使用しました。アプリケーションは問題なく別のコンピューターにデプロイされます。アプリはインストール後約6Mです。
次に、「プライマリ出力」をアプリケーションフォルダーに含めて、VSインストーラーを使用し始めました。A.dll と B.dll の両方が含まれていることがわかります。アプリを別のコンピューターにインストールすると、インストール ディレクトリにも A と B が存在します。アプリケーションを実行すると、「ファイルまたはアセンブリ "B.dll" またはその依存関係の 1 つを読み込めませんでした」というエラーが表示されます。B.dll は .NET フレームワークのみに依存します。インストール ディレクトリには .dll しかない (.pdb がない) ため、アプリはインストール後わずか 3M です。
ここで何か見逃しましたか?どんなアイデアでも役に立ちます、ありがとう。
編集: A.dll と B.dll の違いは、B.dll は C++/cli プログラムからコンパイルされ、A.dll は C# からコンパイルされることです。これにより、展開が異なりますか?