2

分散 C# プロジェクト構造を WIX セットアップ プロジェクトに複製しようとしています。現在、次の問題があります。

LIB:複数の C# プロジェクトから AnyCPU .NET dll をビルドする C# ライブラリ ソリューション

APP: LIB からの dll は、このメイン アプリケーション ソリューションによって (ファイル参照として) 参照されます。さらに、このアプリケーション ソリューションにはプラットフォーム依存のライブラリが含まれているため、2 つの特定のターゲット プラットフォーム x86 および x64 用のセットアップを作成できることが重要です。

ここで、APP ソリューション内で wixsetup プロジェクトの作成を開始しました (正常に動作します)。次に、LIB .NET dll を wixlib に参照する LIB ソリューション内に wixlib を作成しました。

今問題:

wixlib は、wixlib の作成時にプラットフォーム固有のタグが付けられているように見える DirectoryRef 内の AnyCPU .NET dll を参照します。したがって、LIB ソリューションに戻り、1 つのプラットフォーム ターゲットでプロジェクトをビルドし、ビルドされたファイルを (SVN 外部メカニズムを介して) APP ソリューションにコピーし、wixlib が作成されたのとまったく同じターゲット プラットフォームでこのプロジェクトをビルドし、他のプラットフォームを作成するには、この手順を繰り返します。

これはちょっと複雑に思えるかもしれませんが、実行可能です。同じ問題が適用される他のいくつかのライブラリ ソリューションを省略したという事実と、これらすべてのライブラリが複数のアプリケーション ソリューションで使用されているという事実と、最終的にはすべてがビルド サーバー上で自動的に実行される必要があるという事実により、これは機能しません。

ただし、次の解決策を知っています。

wixlib 内の .NET dll 参照を 2 倍にして、異なる DirectoryRef INSTALLDIR および INSTALLDIR32 に割り当て、wixsetup でこれらの異なるディレクトリ参照を実装します。しかし、これも物事を複雑にするため、私の好ましい解決策ではありません-代替手段がある場合.

賢明な代替手段がない場合は、教えていただければ、最後の段落で説明したように対処します。

4

0 に答える 0