D365简化了连接Azure App Services

时间:2017-08-30 14:02:02

标签: azure dynamics-crm office365 azure-web-sites dynamics-crm-online

我正在使用 Microsoft.Xrm.Tooling.Connector.dll 中与D365的简化连接示例可以在SDK SDK \ SampleCode \ CS \ QuickStart \ SimplifiedConnection中找到。 CS

问题是,当站点部署到Azure应用服务(以前的网站)时它不起作用,而它可以在本地运行网站。

例外是非常笼统的:

  

未将对象引用设置为对象的实例

你们有没有看过这个或知道问题/决议?

CrmServiceClient crmConn = new CrmServiceClient(ConfigurationManager.ConnectionStrings["CRM"].ConnectionString);
IOrganizationService crmService = crmConn.OrganizationServiceProxy;
<connectionStrings>
<add name="CRM" connectionString="AuthType=Office365;Url=https://instance.crm4.dynamics.com; Username=name.name@domain.onmicrosoft.com; Password=Lu555" />

解析后编辑 在web.config Source

中添加了以下侦听器
<system.diagnostics>
<trace autoflush="true" />
 <sources>
 <source name="Microsoft.Xrm.Tooling.Connector.CrmServiceClient"
 switchName="Microsoft.Xrm.Tooling.Connector.CrmServiceClient"
 switchType="System.Diagnostics.SourceSwitch">
 <listeners>
 <add name="console" type="System.Diagnostics.DefaultTraceListener" />
 <remove name="Default" />
 <add name ="fileListener" />
 </listeners>
 </source>
<source name="Microsoft.Xrm.Tooling.CrmConnectControl"
 switchName="Microsoft.Xrm.Tooling.CrmConnectControl"
 switchType="System.Diagnostics.SourceSwitch">
 <listeners>
 <add name="console" type="System.Diagnostics.DefaultTraceListener" />
 <remove name="Default" />
 <add name ="fileListener" />
 </listeners>
 </source>
 </sources>
 <switches>
  <add name="Microsoft.Xrm.Tooling.Connector.CrmServiceClient" value="Verbose" />
 <add name="Microsoft.Xrm.Tooling.CrmConnectControl" value="Verbose" />
 <add name="Microsoft.Xrm.Tooling.WebResourceUtility" value="Verbose" />
 </switches>
 <sharedListeners>
 <add name="fileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="XRMToolingLogs.log" />
 </sharedListeners>
</system.diagnostics>

2 个答案:

答案 0 :(得分:0)

最有可能是连接存在问题。不确定,这可能是读取连接字符串的问题 - 仔细检查您在本地web.config中具有与在Azure应用服务的连接字符串配置UI中输入完全相同的字符串。

尝试修改代码以抛出连接尚未就绪的异常ID,以便您可以获得底层CRM错误:

CrmServiceClient crmConn = new CrmServiceClient(ConfigurationManager.ConnectionStrings["CRM"].ConnectionString);
if (!crmConn.IsReady)
{
    throw new Exception($"Crm Connection Not Ready. Last error: {crmConn.LastCrmError}");
}
IOrganizationService crmService = crmConn.OrganizationServiceProxy;

答案 1 :(得分:0)

从上面的听众那里,我得到了以下错误

  

无法加载文件或程序集“Microsoft.Xrm.Sdk,Version = 7.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。定位的程序集的清单定义与程序集引用

不匹配

是什么让我觉得NuGet包存在问题,因为我已经通过Visual Studio中的Manage NuGet包安装了所有包。

我已经通过在web.config中添加它来解决了这个错误。在此之后,我的网站在Azure网站上与D365很好地连接。

 <dependentAssembly>
    <assemblyIdentity name="Microsoft.Xrm.Sdk" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
  </dependentAssembly>