0

組み込みで正常に動作するアプリケーションがありますVisual Studio。このアプリケーションがVisual Studio 2012標準InstallShieldプロジェクトでビルドされている場合、そうではありません。

アプリケーションはSystem.Threading.Tasksfromを使用しNuGetます。を使用してアプリケーションを構築するVisual Studioと、正しいバージョンが出力されます。InstallShieldインストーラーを使用してビルドすると、の異なるバージョンSystem.Threading.Tasksがデプロイされます。これにより、アプリケーションがクラッシュします。

私の質問は、System.Threading.Tasksインストーラープロジェクトへのプライマリ出力として異なるバージョンが発行されるのはなぜですか?

私はこれを十分に説明したと思います。詳細については、添付のスクリーンショットを参照してください。

参照プロパティ

参照プロパティ

デバッグ出力

デバッグ出力

インストーラーの出力

インストーラーの出力

4

2 に答える 2

0

これが誰かに役立つかどうかはわかりません..しかし、私は Telerik.Windows.Data アセンブリで同じ問題を抱えていました。

インストーラーをビルドするたびにプロジェクト内でパッケージ化して参照したいバージョンを持っていたにもかかわらず、何らかの理由でどこかから古いバージョンを取得し続けました

どのように修正したかというと、C:\ ドライブでアセンブリを完全に検索し、必要な特定のもの以外のすべてを削除することでした (ランダムな telerik.windows.data があちこちに散らばっていました) .. どうやらどこかから拾ってきたのだろう

于 2014-02-04T19:09:23.820 に答える
0

この問題を修正するために、フォルダーSystem.Threading.Tasks.dllからインストーラーの出力に直接追加しました。NuGetこれは、インストーラーが取得していたものを上書きしているようですSystem.Threading.Tasks.dll。これはおそらく、デバッグ出力を作成するときに Visual Studio が舞台裏で行っていることです。

于 2013-02-25T05:54:10.683 に答える