询问者
急..!!!MSCRM 实体图标丢失,自定义实体不能发布

问题
-
昨天开始,我自定义的一个叫“supplier”的实体突然不能发布了。这个实体我以前更改过默认图标, 现在自定义的图标丢失了。
我回忆了下对MSCRM的改动,也就是在这之前按照这个帖子
http://social.microsoft.com/Forums/zh-CN/crmchinese/thread/8326b73e-11ff-4c84-aee0-d267adc526ba
的方法扩展了tab8个的限制,但貌似这个和上面的问题没有关系,后来我恢复原样也不行。
请大虾们,帮帮我吧,很急!
万分感谢!
全部回复
-
请大家帮帮我啊。
其他自定义实体都是可以发布的,就是这个,我已经把它相关的关系都删除了,现在他是个独立的实体,可还是不能发布!我这个不能发布的故障和给该实体自定义的图标突然消失是同时发生的,但我不知道是因为图标消失了导致实体不能发布,还是其他原因同时导致图标消失和实体不能发布的。
另外我查了下日志,报如下错误:
事件类型: 警告
事件来源: ASP.NET 2.0.50727.0
事件种类: Web Event
事件 ID: 1309
日期: 2010-8-17
事件: 16:54:50
用户: N/A
计算机: APPSERVER
描述:
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 2010-8-17 16:54:50
Event time (UTC): 2010-8-17 8:54:50
Event ID: b17a1886b48f45288eab177a62af08a1
Event sequence: 90
Event occurrence: 11
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/2/ROOT-1-129265074286866969
Trust level: Full
Application Virtual Path: /
Application Path: D:\Program Files\Microsoft Dynamics CRM\CRMWeb\
Machine name: APPSERVER
Process information:
Process ID: 4776
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Exception information:
Exception type: TargetInvocationException
Exception message: Exception has been thrown by the target of an invocation.
Request information:
Request URL: http://appserver:5555/MBSIMTECH/_Common/icon.aspx?objectTypeCode=10001&iconType=gridIcon&inProduction=1&cache=0
Request path: /MBSIMTECH/_Common/icon.aspx
User host address: 53.91.24.32
User: MBSIMTECH\cheng.li
Is authenticated: True
Authentication Type: Negotiate
Thread account name: NT AUTHORITY\NETWORK SERVICE
Thread information:
Thread ID: 9
Thread account name: NT AUTHORITY\NETWORK SERVICE
Is impersonating: False
Stack trace: at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Web.Services.Protocols.LogicalMethodInfo.Invoke(Object target, Object[] values)
at Microsoft.Crm.Extensibility.InternalOperationPlugin.Execute(IPluginExecutionContext context)
at Microsoft.Crm.Extensibility.PluginStep.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.Pipeline.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.MessageProcessor.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.InternalMessageDispatcher.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.ExternalMessageDispatcher.Execute(String messageName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, PropertyBag fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.RequestBase.Process(Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.RequestBase.Process(CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.CrmServiceInternal.Execute(RequestBase request, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.InProcessCrmService.Execute(Object request)
at Microsoft.Crm.Application.Platform.ServiceCommands.PlatformCommand.ExecuteInternal()
at Microsoft.Crm.Application.Platform.ServiceCommands.RetrieveMultipleCommand.Execute()
at Microsoft.Crm.Application.Platform.Customization.RetrieveInProductionOrganizationUIByOrgId(Guid organizationId, Int32 objectTypeCode)
at Microsoft.Crm.Application.Pages.Common.Icon.GetIconBits(Int32 objectTypeCode, IconType iconType, Boolean inProduction)
at Microsoft.Crm.Application.Pages.Common.Icon.ConfigurePage()
at Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e)
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
请大虾指点- 已编辑 Louis_LI 2010年8月17日 9:32 补充
-
可以导出这个实体的客户化吗?如果可以的话,可以做以下尝试:
如果可以导出,打开customizations.xml 找到
<Icons> <Icon type="GridIcon">????????</Icon> <Icon type="OutlookShortcutIcon">????????</Icon> </Icons>
替换为
<Icons />
保存并导入到系统中
Batistuta Cai | MSCRM MVP | www.techsun.com -
很遗憾无法导出,我尝试导出后出现这个错误
<?xml version="1.0" ?>- <error xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><displaytitle /><displaytext /><description>An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.</description><file>Not available</file><line>Not available</line><details>Exception of type 'System.Web.HttpUnhandledException' was thrown.</details><requesturl>http://appserver:5555/MBSIMTECH/_grid/cmds/dlg_exportcustomizations.aspx</requesturl><pathAndQuery>/MBSIMTECH/_grid/cmds/dlg_exportcustomizations.aspx</pathAndQuery><source>XML</source><stacktrace /></error> -
以前由于删除字段,重建出错,可以替换实体的XML在数据库里,不知道你这个可以解决不。
http://www.cnblogs.com/janmson/archive/2010/03/12/1684194.html
可参考上面的博文,把上一个版本的XML覆盖回去,或者你把标准版实体的覆盖过去。
-
这个是实体关联没有删除干净的问题。
我建议你导出所有的实体: customizations.xml ,然后查找你删除的实体关键字;再逐一删除。
然后导入系统。
Jim Wang - MVP Dynamics CRM - http://jianwang.blogspot.com, http://www.mscrm.cn- 已建议为答案 Jim Wang (Microsoft)Microsoft employee, Moderator 2010年9月7日 7:40