10

現在、以前は Excel 2007 アドインであった Excel 2010 アドインに取り組んでいます。コンピューターを切り替える過程のどこかで、アドインが変換されたと思います。

一部の顧客は、アドインが Excel 2007 で動作しなくなったと述べたので、Excel 2007 と Visual Studio 2010 がインストールされた VirtualBox でデバッグを試みました。

エラーメッセージが表示されます:

必要なバージョンの Microsft Office アプリケーションがインストールされていないため、このプロジェクトをデバッグまたは実行できません。

私は新しい Excel 2007 アドイン プロジェクトを開始し、違いを見つけようとしましたが、DLL と何らかの関係があるという考えにたどり着いたので、2007 アドインのようになるまで 2010 アドインを変更しました。

プロジェクトをデバッグできないというエラー メッセージがまだ表示されます。

変更するのを忘れていた可能性があるものはありますか。

残念ながら、まったく新しいアドインを作成することはできません。

これらの質問はこれまでのところ役に立ちませんでした:

  1. Excel 2007 および 2010 で動作する Excel アドイン
  2. Office 2010 アドインの展開
4

2 に答える 2

8

VS 2010Office 2007で動作させるには、プロジェクト ファイル ( .csproj ) を変更して、Office 2007 で開き、実行時に Office 2010 を検索しないようにします (したがって、上記のエラー メッセージが表示されます)。

プロジェクト設定の変更は次のとおりです ( Excel の例):

ソース XPath:

//Project/ProjectExtensions/VisualStudio/FlavorProperties/ProjectProperties/@DebugInfoExeName

古い値 (Office 2010):

DebugInfoExeName="#Software\Microsoft\Office\14.0\Excel\InstallRoot\Path#excel.exe"

新しい価値 (Office 2007):

DebugInfoExeName="#Software\Microsoft\Office\12.0\Excel\InstallRoot\Path#excel.exe"

このプロジェクト設定を変更した後、デバッガーを起動すると ( F5)、Excel 2010 を探す代わりに Excel 2007 アプリケーションが読み込まれます。

于 2012-09-25T14:10:17.120 に答える
6

通常、VSTO アドインを使用して複数のバージョンの Office に対して開発を行う場合、対象とする Office のバージョンごとにプロジェクトを作成します。プロジェクト間のすべての共通コードを 1 つのプロジェクト (通常は最も古いプロジェクト) に配置し、リンクされたファイルを使用して、共通ファイルを新しいプロジェクトに追加します。これにより、Office の各バージョンの要件から抽象化された共通のコア コードを 1 セット書くことができます。これは、Office のバージョンごとに VSTO をコンパイルするさまざまな方法と戦う必要がなくなったことを意味します。これは、共有フォルダーと仮想マシンを使用すると簡単にできるため、複数のコンピューターを使用せずに開発とテストを行うことができます。決して優雅ではありませんが、私にとってはうまく機能します。これにより、Office 2007 と Office 2010 の両方に対して VSTO アドインを問題なく開発できます。

于 2012-09-25T14:40:39.367 に答える