1

ソリューションに InstallShield Spring 2012 プロジェクトがあります。ソリューションの Windows サービス プロジェクトからのプロジェクト出力をそれに追加しました。この Windows サービス プロジェクトは、ソリューションにもあるライブラリ プロジェクトを参照しています。この同じライブラリ プロジェクトは、同じソリューション内にある ASP.Net MVC Web プロジェクトによって参照されます。

これで、生成された setup.exe からインストールを実行すると、問題なく正常に実行されます。予想される宛先フォルダーにインストールされ、Windows サービスの exe と libary プロジェクトの dll が表示されます。

例外: ライブラリ プロジェクトの日時スタンプは最新のビルドではありません。約 1 か月前のビルドです。この古いバージョンの dll がどこから取得されているかを突き止めようとして、私は髪を引っ張りました。最終的に、Temporary ASP.Net files フォルダーにあることがわかりました。すぐにこのフォルダーの内容を削除し、セットアップ プロジェクトを再度ビルドしました。

今回はうまくいきました。しかし、確かに、ライブラリ プロジェクトにさらに変更を加え、セットアップ exe を再構築した後でも、デプロイされた exe はまだ、Temporary ASP.Net files フォルダーから取得した最新のものではありません。

なぜこれを行うのでしょうか?どこかで設定を見逃していませんか?

4

2 に答える 2

1

プロジェクト出力グループの内容は、ファイルのリストを提供するプロジェクトによって決定されます。それが役に立たない情報を提供するならば、それを良い情報に変えることはできません。含める必要のあるファイルがビルドされている場所がわかっている場合は、プロジェクト出力グループ参照をスキップして、ファイルをInstallShieldプロジェクトに直接追加します。

于 2013-02-06T13:10:28.003 に答える