2009-08-31 11 views
2

現在、.net 3.5フレームワークを使用してビジュアルスタジオでプログラムをプログラミングしており、マイクロソフトはオフィス製品とやりとりするために相互運用します。 私はapp.configファイルに問題があります。毎回私のソリューションをコンパイル、再構築、またはビルドエラーリストで警告が発生する同じ依存アセンブリの異なるバージョン間で競合が見つかりました

同じ依存アセンブリの異なるバージョン間で競合が見つかりました。

このメッセージをダブルクリックすると、ビジュアルスタジオは問題を解決しようとしますが、次回には警告が再び表示されます。私は、Visual Studioは、問題を解決しようとするとどのようなapp.configファイルにチェックし、それは私がbindingRedirectがあるため、バージョン番号の失敗だと思う

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="office" publicKeyToken="71E9BCE111E9429C" culture="neutral"/> 
      <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/> 
     </dependentAssembly> 
     <dependentAssembly> 
      <assemblyIdentity name="Microsoft.Vbe.Interop" publicKeyToken="71E9BCE111E9429C" culture="neutral"/> 
      <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

これらの行を挿入していること、ようだが、私はそれらを編集することはできません、すでに "問題を解決 - ビルド - 問題が発生している"ために。

誰かが何が間違っているかも知りません。私は何の手がかりも持っていません。

すべてのアイデアに感謝します!

+0

MSBuildの冗長な出力を有効にして、矛盾が見つかったかどうかを確認してください。http://blogs.msdn.com/b/saraford/archive/2008/10/07/did-you-know-このような問題をトラブルシューティングする際に使用できる最も一般的なのは、msbuild-output-window-329.aspx診断ツールです。 –

答えて

0

ジンクス。私は同様に、Officeアセンブリへの依存性に関する同様の問題を研究しています。私の場合は、DEVボックスにインストールしていない古いバージョンのOfficeをサポートする必要があります(ビルドサーバーにインストールされています)。

私はここで投稿の1つで発見したMS Office Wrapper for .Netオープンソースプロジェクトを試してみることにしました。これは、97年から2007年までのすべてのバージョンのOfficeをサポートすると主張しています(互換性を維持する必要がある最も古いバージョンで利用可能なAPI呼び出しに限定されている限り)。

おそらく、そのラッパーを使用すると、Officeバージョンの依存関係も解決/簡略化されます。

+0

こんにちは! ラッパーに言及してくれてありがとう。問題は、私のプログラムがすでに完成していることです。私はこのラッパーを使ってすべてのコマンドを書き直したくありません。しかし、私はそれを見て、それ以上のバージョンではこれをマイグレーションすることになるでしょう!とにかくありがとうございました!! –

+0

私はかなり同じボートに入っています...プログラムが完了し、リファクタリングするかどうかを検討します。私は、バージョン参照のための.csprojファイルを見て、そのビルドサーバーにインストールされているバージョンに変更するビルドマシンで動作する小さなパーサを作成しました。別のサーバーを持っていなければ、仮想PCもうまく動作します。 –