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 扩展以供普通 CRM 用户访问的最佳实践(即 = 每个人都有他/她自己的 CAL)是将页面存储在 [Installation folder]\CRMWeb\ISV 文件夹下的文件夹中。相应的 dll 应放在 [安装文件夹]\CRMWeb\bin 文件夹中。对我来说,这原来是

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

也就是说,不在Server文件夹中,而是在CRMWeb文件夹中。

就多租户而言,调用 CRM Web 服务时必须使用CrmAuthenticationToken参数。该令牌又具有一个名为 OrganizationName 的属性。与 UI 集成的扩展(如 IFrame、按钮等)已经将这些信息作为 GET 参数提供给您的页面。检查此MSDN 链接以查看示例。

于 2009-04-22T09:39:41.837 回答
1

从 rollup2 开始,ms 建议将您的 dll 放在您自己的项目 bin 文件夹中。在 CRM SDK 上查找“自定义代码最佳实践”以获取更多信息。

于 2009-04-23T18:49:29.903 回答