Piotrek 的个人资料XRM.NET照片日志列表 工具 帮助

日志


4月9日

Błedy publikacji Workflow - TargetInvocationException

Polska wersja systemu Dynamics CRM 4.0 zaskakiwała mnie już nie raz. Niestety, najczęściej "dziwnymi" tłumaczeniami angielskich terminów, będącymi przedmiotem żartów, zarówno wśród specjalistów jak i użytkowników systemu. Ostatnio jednak udało mi się natrafić na kolejny problem, związany z przenoszeniem stworzonych przeze mnie lokalnie przepływów pracy (po polsku "workflowów" :)) na docelowe środowisko.

Do przenoszenia komponentów wykorzystywałem oczywiście standardowy mechanizm importu/eksportu customizacji. Żeby było ciekawiej, omawiany workflow wykorzystywał dodatkowe, stworzone przeze mnie biblioteki, zarejestrowane w systemie. O ile cała operacja przebiegała poprawnie, to przy próbie publikowania przepływu pracy, na ekranie pojawiał się następujący komunikat:

Exception information:
    Exception type: TargetInvocationException
    Exception message: Exception has been thrown by the target of an invocation.
 

Rozwiązaniem problemu okazało się dodanie następujących linii do pliku web.config:

<System.Worlflow.ComponentModel.WorflowCompiler>
<authorizedTypes>

<authorizedType Assembly="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Namespace="System" TypeName="Void” Authorized="True"/>
<authorizedType Assembly="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Namespace="System.Globalization" TypeName="CultureInfo" Authorized="True"/>

</System.Worlflow.ComponentModel.WorflowCompiler>
</authorizedTypes>

Problem w magiczny sposób został rozwiązany.
Oczywiście, ręczne modyfikacje pliki web.config są powszechnie uważane za "niesupportowalne" ;).