我需要我的项目在多租户环境中运行。在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来实现多租户?
发布于 2009-04-22 09:39:42
我认为开发供普通CRM用户访问的CRM扩展的最佳实践是将页面存储在安装文件夹\CRMWeb\ISV文件夹下的文件夹中。但是,相应的dll应该放在安装文件夹\CRMWeb\bin文件夹中。对我来说,这就是
C:\Program Files\Microsoft Dynamics CRM\CRMWeb\ISV\MyApp也就是说,不是在服务器文件夹中,而是在CRMWeb文件夹中。
就多租户而言,在调用CRM服务时,您必须使用CrmAuthenticationToken参数。这个令牌又有一个名为OrganizationName的属性。UI-集成扩展,如IFrames、按钮等已经为您的页面提供了此信息作为GET参数。选中此MSDN link可查看示例。
发布于 2009-04-23 18:49:30
从rollup2开始,微软建议将你的dll放在你自己的项目bin文件夹中。有关更多信息,请在CRM SDK上查找“自定义代码最佳实践”。
https://stackoverflow.com/questions/767580
复制相似问题