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

时间:2021-10-22 11:00:30

I need my project to run in a multi-tenancy environment. Following the SDK, I put the aspx files in C:\Inetpub\wwwroot\ISV\MyProject. I then put the DLLs in C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly.

我需要我的项目在多租户环境中运行。在SDK之后,我将aspx文件放在C:\ Inetpub \ wwwroot \ ISV \ MyProject中。然后我将DLL放在C:\ Program Files \ Microsoft Dynamics CRM \ Server \ bin \ assembly中。

When I view my page in CRM I get:

当我在CRM中查看我的页面时,我得到:

Could not load type 'MyProject._Default'.

If I put the DLLs in the c:\wwwroot\inetpub\bin folder then the page loads but I don't know (and currently have no means of testing) whether this will work off-line.

如果我将DLL放在c:\ wwwroot \ inetpub \ bin文件夹中,那么页面加载但我不知道(目前无法测试)这是否可以脱机工作。

Additionally, when I load my page with the DLLs in c:\wwwroot\inetpub\bin, it seems to work fine. However, when I add it to an IFRAME in the accounts page using the address /isv/MyProject/default.aspx, the page that loads does not work because it loses the name of the organisation. Does anyone know what URL I should use for multitenancy?

另外,当我在c:\ wwwroot \ inetpub \ bin中加载我的页面时,它似乎工作正常。但是,当我使用地址/isv/MyProject/default.aspx将其添加到帐户页面中的IFRAME时,加载的页面不起作用,因为它丢失了组织的名称。有谁知道我应该用于多租户的URL?

2 个解决方案

#1


I think the best practice for developing CRM extensions meant to be accessed by regular CRM users (ie = each with his/her own CAL) is to store the pages in a folder under the [Installation folder]\CRMWeb\ISV folder. The corresponding dlls though should be placed in the [Installation folder]\CRMWeb\bin folder. For me this turns out to be

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

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

That is, not in the Server folder, but in the CRMWeb folder.

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

As far as the multi-tenancy is concerned, you will have to use a CrmAuthenticationToken parameter when calling the CRM Web Services. This token in turn has a property called OrganizationName. UI-Integrated extensions like IFrames, Buttons etc already provide your pages with this information as a GET parameter. Check this MSDN link to view an example.

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

#2


As of rollup2 ms recommends on putting your dll inside your own project bin folder. Look for "Custom Code Best Practices" on CRM SDK for more information.

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

#1


I think the best practice for developing CRM extensions meant to be accessed by regular CRM users (ie = each with his/her own CAL) is to store the pages in a folder under the [Installation folder]\CRMWeb\ISV folder. The corresponding dlls though should be placed in the [Installation folder]\CRMWeb\bin folder. For me this turns out to be

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

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

That is, not in the Server folder, but in the CRMWeb folder.

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

As far as the multi-tenancy is concerned, you will have to use a CrmAuthenticationToken parameter when calling the CRM Web Services. This token in turn has a property called OrganizationName. UI-Integrated extensions like IFrames, Buttons etc already provide your pages with this information as a GET parameter. Check this MSDN link to view an example.

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

#2


As of rollup2 ms recommends on putting your dll inside your own project bin folder. Look for "Custom Code Best Practices" on CRM SDK for more information.

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