1

プロジェクトをマルチテナンシー環境で実行する必要があります。SDK に従って、aspx ファイルを C:\Inetpub\wwwroot\ISV\MyProject に配置しました。次に、DLL を C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly に配置します。

CRM で自分のページを表示すると、次のようになります。

Could not load type 'MyProject._Default'.

DLL を c:\wwwroot\inetpub\bin フォルダーに配置すると、ページが読み込まれますが、これがオフラインで機能するかどうかはわかりません (現在テストする手段がありません)。

さらに、c:\wwwroot\inetpub\bin にある DLL を使用してページをロードすると、問題なく動作するようです。ただし、アドレス /isv/MyProject/default.aspx を使用してアカウント ページの IFRAME に追加すると、組織の名前が失われるため、読み込まれるページが機能しません。マルチテナンシーに使用する必要がある URL を知っている人はいますか?

4

2 に答える 2

3

通常の CRM ユーザー (つまり、それぞれが独自の CAL を使用) がアクセスすることを意図した CRM 拡張機能を開発するためのベスト プラクティスは、[インストール フォルダー]\CRMWeb\ISV フォルダーの下のフォルダーにページを保存することだと思います。ただし、対応する dll は [インストール フォルダー]\CRMWeb\bin フォルダーに配置する必要があります。私にとって、これは

C:\Program Files\Microsoft Dynamics CRM\CRMWeb\ISV\MyApp

つまり、Serverフォルダではなく、CRMWebフォルダにあります。

マルチテナントに関する限り、CRM Web サービスを呼び出すときにCrmAuthenticationTokenパラメータを使用する必要があります。このトークンには、OrganizationName というプロパティがあります。IFrames、Buttons などの UI 統合拡張機能は、既にこの情報を GET パラメータとしてページに提供しています。例を表示するには、このMSDN リンクを確認してください。

于 2009-04-22T09:39:41.837 に答える
1

rollup2 ms の時点で、dll を独自のプロジェクト bin フォルダー内に配置することをお勧めします。詳細については、CRM SDK の「カスタム コードのベスト プラクティス」を参照してください。

于 2009-04-23T18:49:29.903 に答える