■94346 / inTopicNo.4) |
Re[3]: ワードの参照ライブラリーの互換性 |
□投稿者/ uko (3回)-(2020/04/05(Sun) 13:33:56)
|
■No94312 (uko さん) に返信 > ■No94297 (KOZ さん) に返信 >>■No94290 (uko さん) に返信 > >>もし、ワード2010下でコンパイルしたものはそのままでワード2016で動かす方法をご存知の方がおれば是非お教え願いたいです。 >> >>試したことはないのですが Microsoft.Office.Interop.Word.dll を同一フォルダに配布すると動かないでしょうか? >> >>フォルダを以下の構成にします。 >> >>・プログラム名.exe >>・プログラム名.exe.config >>・プログラム名.exe.local (中身は空で良い) >>・Microsoft.Office.Interop.Word.dll (2010 の DLL) >> >
マイクロソフトの下記サイトに、アセンブリ バージョンのリダイレクトというものがありました: https://docs.microsoft.com/ja-jp/dotnet/framework/configure-apps/redirect-assembly-versions
その中の「構成ファイル内でのアセンブリ バインドの指定」という項目を参考にしました: <dependentAssembly> <assemblyIdentity name="myAssembly" publicKeyToken="32ab4ba45e0a69a1" culture="en-us" /> <!-- Assembly versions can be redirected in app, publisher policy, or machine configuration files. --> <bindingRedirect oldVersion="14.0.0.0" newVersion="15.0.0.0" /> </dependentAssembly>
該プログラム名.xml内に上記を追記したところ、古いバージョンの参照でコンパイルしたものでも Microsoft.Office.Interop.Word.dllやOffice.dllが新しいバージョンのものを読みに行くことが 分かりました。インストールされているワードのバージョンに従い、自動で異なる参照にアクセスさせる ことはできませんが、異なるプログラム名.xmlを用意し、ワードのバージョンに依って使い分ければ 良いと思われます。
|
解決済み
|