2009-03-18 21 views
2

私は完全に失われた展開の問題に苦しんでいます。これは次のようになります:.NET Framework 3.5の依存関係を見つける方法

私はアプリケーションをインストールするVisual Studioデプロイメントプロジェクトを持っています - いくつかのアセンブリは、.NET Framework 2.0をターゲットにしてコンパイルされています。私は最近、MS WordとMS Outlook用の「共有アドイン」があり、これらの名前には厳密な名前を付ける必要があると言われています。私の問題が始まったときです。しかし私はちょうど間違っていることもできます。

今問題は、.MSIパッケージをインストールした後、アプリケーションを実行しようとするとクラッシュすることです。今、Windows Updateに切り替えると、何とか.NET Framework 3.5 SP1をインストールする必要があることが検出されます。 .MSIパッケージをインストールする前に実行しても、これは検出されません。

.NET Framework 3.5をインストールした後、私のアプリケーションが起動します。

この依存関係の原因はわかりません。 (もし私がそれを理解できなければ、私は3.5を私のアプリに必要としなければならないだろうが、依存関係がどこから来るのかを追うことができれば幸せだろう)

私は分からないこれは手掛かりですが、3.5をインストールする前に、リフレクターでリフレクターを検査しようとしましたが、リフレクターが「次のアセンブリー名は自動的に解決できません」というメッセージを表示してから、正しいアセンブリー名、同じフォルダに存在するファイルのバージョンとPublicKeyToken。さらに奇妙なことに、それはMicrosoft.VisualCアセンブリへの依存のためにそうしています。しかし、もう一度:3.5をインストールした後、すべてが解決されます。私は私の問題に光を当てることができます何のために最も感謝しています


      TIA

答えて

1

まあ、眠れない夜の後、私は最後に、完全に.NET Framework 3.5が必要というわけではないことを分かりました。ちょうどいくつかのファイルがそれと一緒に配布される。私のアセンブリの1つはC++/CLIで書かれていました。そして、前提条件 "Visual C++ランタイムライブラリ(x86)"も配布する必要があります。一度あなたがそれを見つけたならば、明らかである。 sigh

0

それはあなたのコードを見ることなくdepedencyを導入かを理解するのは難しいです。 Reflector(無料ツール)を使用してDLLを分析し、その中に含まれる参照を確認することができます。

+0

前述のように、私は*リフレクターを使用します。 2.0以外のものは参照できません! –

+0

MSIパッケージに誤って.Net asssembliesが含まれていましたか? – cdonner

+0

Office \ PIA \ Office11用のMicrosoft Visual Studio 9.0 \ Visual Studioツールに2つのInteropアセンブリがあります。 –

0

ソリューションエクスプローラに移動します。セットアッププロジェクトを選択します。右クリック。ジャンプビュー>起動条件。開いた新しいウィンドウ内で.NET Frameworkを選択し、そのプロパティに移動します。プロパティの1つをバージョンと呼びます。あなたが3.5を持っているなら、あなたの問題です。それを2.0に変更すればOKです。

+0

既に2.0.50727です。 –

+0

同じ問題があります。すでに2.0に設定されていますが、インストール時に3.5SP1をインストールしようとします。 VS2008でビルド..しかし、私は動作する他のセットアッププロジェクトがあります。ターゲットマシンにSQL2005がインストールされているため、2.0も既にインストールされています。誰でも手掛かりを得た? –

+0

それが起こると、プロジェクトが2.0をターゲットにしているにもかかわらず、3.5に依存するものを参照していると思います。私は何かが3.5 dllであるかどうかを見るためにすべての参照をチェックします。 – Petros

関連する問題