scottdurow / SparkleXrm

An open-source library for building Dynamics CRM XRM solutions using Script#, jQuery & Knockoutjs.
MIT License
264 stars 194 forks source link

Incompatibility with Microsoft.CrmSdk.CoreTools v9.1.0.115 #461

Open tylersand opened 2 years ago

tylersand commented 2 years ago

When using the earlybound.bat with the latest Microsoft.CrmSdk.CoreTools v9.1.0.115, it throws an exception regarding "Parameter count mismatch". Works fine with v9.1.0.79.

Generating early bound types Searching for plugin config in 'C:\demos\DataversePlugins\spkl..' Using Config 'C:\demos\DataversePlugins' Target C:\demos\DataverseSolution\packages\spkl.1.0.640\tools Running C:\demos\DataverseSolution\packages\spkl.1.0.640\tools....\Microsoft.CrmSdk.CoreTools.9.1.0.115\content\bin\coretools\CrmSvcUtil.exe /connstr:"AuthType=OAuth; AppId=xxx; RedirectUri=app://xxx; TokenCacheStorePath=C:\Users\tyler\AppData\Roaming\spkl\TokenCache;UserName=xxx;Url=https://xxx.crm.dynamics.com;LoginPrompt=Auto" /out:"C:\demos\DataversePlugins\EarlyBoundTypes.cs" /namespace:"DataversePlugins" /serviceContextName:"XrmSvc" /GenerateActions:"False" /codewriterfilter:"spkl.CrmSvcUtilExtensions.FilteringService,spkl.CrmSvcUtilExtensions" /codewritermessagefilter:"spkl.CrmSvcUtilExtensions.MessageFilteringService,spkl.CrmSvcUtilExtensions" /codegenerationservice:"spkl.CrmSvcUtilExtensions.CodeGenerationService, spkl.CrmSvcUtilExtensions" /metadataproviderqueryservice:"spkl.CrmSvcUtilExtensions.MetadataProviderQueryService,spkl.CrmSvcUtilExtensions" CrmSvcUtil : CRM Service Utility [Version 9.1.0.118] c 2022 Microsoft Corporation. All rights reserved

Begin Reading Metadata from MetadataProviderService Loading config from 'C:\demos\DataverseSolution\packages\Microsoft.CrmSdk.CoreTools.9.1.0.115\content\bin\coretools\spkl.crmsvcutil.config' Begin Reading Metadata from Server Read 3 Entities Read 0 Global OptionSets Read 1 SDK Messages Completed Reading Metadata from Server - 00:00:08.1054155 Completed Reading Metadata from MetadataProviderService - 00:00:10.3559160

Begin Writing Code File Exiting program with exception: Parameter count mismatch. CrmSvcUtil Error: 2 : Exiting program with exit code 2 due to exception : System.Reflection.TargetParameterCountException: Parameter count mismatch. at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) at spkl.CrmSvcUtilExtensions.CodeGenerationService.Write(IOrganizationMetadata organizationMetadata, String language, String outputFile, String targetNamespace, IServiceProvider services) at Microsoft.Crm.Services.Utility.CrmSvcUtil.WriteCode(IOrganizationMetadata organizationMetadata) at Microsoft.Crm.Services.Utility.CrmSvcUtil.Run() at Microsoft.Crm.Services.Utility.CrmSvcUtil.Main(String[] args) CrmSvcUtil Error: 2 : ===== DETAIL ====== CrmSvcUtil Error: 2 : Source : mscorlib Method : InvokeArgumentsCheck Date : 11:09:36 AM Time : 7/15/2022 Error : Parameter count mismatch. Stack Trace : at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) at spkl.CrmSvcUtilExtensions.CodeGenerationService.Write(IOrganizationMetadata organizationMetadata, String language, String outputFile, String targetNamespace, IServiceProvider services) at Microsoft.Crm.Services.Utility.CrmSvcUtil.WriteCode(IOrganizationMetadata organizationMetadata) at Microsoft.Crm.Services.Utility.CrmSvcUtil.Run() at Microsoft.Crm.Services.Utility.CrmSvcUtil.Main(String[] args)

CrmSvcUtil exited with error 2 Error Code=1

PlanBernhard commented 1 year ago

Same issue here. The latest working version of Microsoft.CrmSdk.CoreTools is 9.1.0.92 .

Exiting program with exception: Parameteranzahlkonflikt. CrmSvcUtil Error: 2 : Exiting program with exit code 2 due to exception : System.Reflection.TargetParameterCountException: Parameteranzahlkonflikt. bei System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) bei System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) bei System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) bei spkl.CrmSvcUtilExtensions.CodeGenerationService.Write(IOrganizationMetadata organizationMetadata, String language, String outputFile, String targetNamespace, IServiceProvider services) bei Microsoft.Crm.Services.Utility.CrmSvcUtil.WriteCode(IOrganizationMetadata organizationMetadata) bei Microsoft.Crm.Services.Utility.CrmSvcUtil.Run() bei Microsoft.Crm.Services.Utility.CrmSvcUtil.Main(String[] args) CrmSvcUtil Error: 2 : ===== DETAIL ====== CrmSvcUtil Error: 2 : Source : mscorlib Method : InvokeArgumentsCheck Date : 11:49:27 Time : 20.07.2022 Error : Parameteranzahlkonflikt. Stack Trace : bei System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) culture) bei System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) bei spkl.CrmSvcUtilExtensions.CodeGenerationService.Write(IOrganizationMetadata organizationMetadata, String language, String outputFile, String targetNamespace, IServiceProvider services) bei Microsoft.Crm.Services.Utility.CrmSvcUtil.WriteCode(IOrganizationMetadata organizationMetadata) bei Microsoft.Crm.Services.Utility.CrmSvcUtil.Run() bei Microsoft.Crm.Services.Utility.CrmSvcUtil.Main(String[] args)

CrmSvcUtil exited with error 2 Error Code=1

PlanBernhard commented 1 year ago

It seems like MS changed some options. Here a comparison of the output of CrmSvcUtil against the latest stable version

image image

PlanBernhard commented 1 year ago

The same for the CrmSvcUtil.xml image image image image image

scottdurow commented 1 year ago

Thanks all - it'll mean the next version of spkl will require the latest SDK core tools. For now -the workaround is to stay on the older version.

PlanBernhard commented 1 year ago

Thanks Scott