SharePoint ドメインで作業しています。イベントレシーバーやWindowsサービスなどの開発を行う必要がある場合があります。
先週、サーバーに Windows サービスをインストールして、ローカル フォルダーからドキュメントをアップロードしました。サーバーは 64 ビット マシンで、SharePoint Foundation 2010 を実行するための OS として "Windows server 2008 R2" がサーバーにインストールされています。サービスは正常に実行されていました。
要件は、ドキュメントをアップロードするためにサーバーにアクセスするユーザーがいないことでした。そのため、ローカル ユーザーのマシンにサービスをインストールしました。一部のユーザーは 32 ビットのマシンと 32 ビットの OS を使用しており、他のユーザーは 64 ビットで作業しています。サービスのインストール中に、32 ビット マシンでエラーが発生しました。エラーは「このソリューションは 64 ビット マシン用です」でした。ターゲット プラットフォームを 64 ビットから x86 に変更した後、サービスは 32 ビット マシンに正常にインストールされ、適切に動作し始めました。
今、質問が来ました:
- SharePoint オブジェクト モデルを操作するために
、32 ビット マシンと 32 ビット OS にインストールされている Windows サービスで SharePoint 64 ビット dll を使用しています。 - 64 ビット dll が 32 ビット マシンで動作する可能性はありますか?
- 「64 ビット dll は 32 ビット マシンでは動作しない」という問題に直面する可能性があるのは、どのシナリオですか?
- 同じソリューションを 64 ビット マシンと 32 ビット マシンにインストールしたい場合はどうすればよいですか? ターゲットプラットフォームを毎回変更したくありません。
アップデート:
R&D の後、「32 ビット ソリューションは、いくつかの条件付きで 64 ビット dll にインストールできる」ことがわかりました。
64 ビット マシンでは、Program x86 および SysWOW64 フォルダーを使用して、32 ビット dll 機能を処理します。
問題は次のとおりです。
32 ビット マシンで 64 ビット dll をどのように処理していますか?
と
SharePoint dll が「任意の CPU」であることを確認できますか?
よろしく。