我应该将我的ISV项目文件放在哪里用于CRM?

时间:2009-04-20 09:38:51

标签: dynamics-crm

我需要我的项目在多租户环境中运行。在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进行多租户?

2 个答案:

答案 0 :(得分:3)

我认为开发CRM扩展的最佳实践意味着由常规CRM用户访问(即=每个人都有他/她自己的CAL)是将页面存储在[安装文件夹] \ CRMWeb \ ISV文件夹下的文件夹中。相应的dll应放在[Installation folder] \ CRMWeb \ bin文件夹中。对我而言,结果证明是

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

即,不在服务器文件夹中,而是在 CRMWeb 文件夹中。

就多租户而言,在调用CRM Web服务时,您必须使用 CrmAuthenticationToken 参数。该令牌又具有名为OrganizationName的属性。像IFrame,Buttons等UI集成扩展已经为您的页面提供了作为GET参数的信息。请查看此MSDN link以查看示例。

答案 1 :(得分:1)

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