0

Visual Studio 2010 を使用して、ターゲット フレームワークを 4.0 クライアント プロファイルとして Excel アドインを開発しました。アドインは私のマシンで正常に動作するので、クライアントのマシンを出荷したいと考えています。そこから直接ダウンロードできるように、自分の Web サイトでアドをホストしています。

私が直面している問題は、クライアントのマシンにアドインが正常にインストールされるがロードされないことです。[オプション] メニューの [追加] セクションに移動すると、COM アドインを選択した後、ロード動作が次のように表示されます。

ロード動作: ロードされていません。COM アドインの読み込み中にランタイム エラーが発生しました。

ここでの私の最善の推測は、.Net 4.0 クライアント プロファイルを使用してアドインを開発したため、使用したすべての .Net 参照がバージョン 4.0 からの参照であり、クライアント エンドで .Net 4.0 を見つけようとしているということです。アセンブリですが、クライアントに .Net 2.0 があるため、それらを見つけることができないため、アドインをロードしません。

しかし、.Net クライアント プロファイル 4.0 をインストールせずに、.Net Framework 2.0 以降のクライアントに展開したいと考えています。

誰かがこのことを理解する方法を知っているなら、私を助けてください。

4

3 に答える 3

2

VS2010 からは運が悪いと思いますが、Visual Studio 2008 のテンプレートを使用して .NET 2.0 マシンに Excel アドインを展開できるはずです。ここで、オプションが利用可能であると確信しています。ソリューションをVS2008とその「古い」VSTOプロジェクトタイプの1つにバックポートすることです。これは楽しいことではありませんが、うまくいくはずです。

アドオンの機能によって多少異なりますが、もう 1 つの考慮事項は、XLL と .NET の間のブリッジを作成し、.NET dll への簡単な呼び出しを可能にする オープン ソース/無料のExcelDNAを調べることです。

私自身は使っていませんが、NetOfficeも調べてみるとよいかもしれません。

于 2012-09-14T09:38:38.810 に答える
1

私の知る限り、VisualStudio2010を使用して.Net2.0を対象とするVSTOExcelアドインを開発することはできません。

Visual Studio 2010の開始画面で[新しいプロジェクト]をクリックした場合は、[ターゲットフレームワーク]ドロップダウンリストをに変更し.NET Framework 2.0て参照するOffice => 2007Office => 2010、両方に[アイテムが見つかりません]と表示されます。

.Net 3.5または4.0(またはVS 2012では4.5)を対象とするOfficeアドインを作成し、[プロジェクトのプロパティ]ウィンドウで事後にターゲットフレームワークを変更しようとすると、次のエラーが発生します。

エラー

これを機能させるには、クライアントコンピューターに.NetFramework4をインストールする必要があります。すべてのWindowsOS>=XPは.Net4をサポートしているので、これはそれほど問題にはならないはずです。

于 2012-09-12T09:54:18.887 に答える
0

プロジェクトの前提条件で .NET 4.0 Framework を必ず選択します。そうすることで、ユーザーは、アドインのインストール中に対象の .NET Framework をダウンロード/インストールできるようになります。

この設定は

プロジェクトのプロパティ -> ビルド -> 前提条件

これにはいくつかの利点があります。

  • アドインと一緒に .NET 4.0 をインストールするか、アドインをまったくインストールしないため、「アドインが頻繁にクラッシュする」という顧客からの電話を受けることはありません。
  • アドインが読み込まれると、対象の .NET フレームワークがエンド ユーザーのコンピューターにインストールされていることを確認できます。
于 2012-09-12T11:37:39.200 に答える