【发布时间】:2015-02-25 21:35:32
【问题描述】:
我正在尝试构建一个对销售订单执行某些操作的插件。我还必须将订单设置为已履行。我在 SDK 文档中找到了一个必须用于以正确方式完成订单的摘录
var request = new FulfillSalesOrderRequest
{
OrderClose = new OrderClose
{
SalesOrderId = new EntityReference
{ LogicalName = orderEntityName, Id = orderId }
},
Status = new OptionSetValue(newStatus)
};
问题是无法编译代码,因为 MVS 说“找不到类型或命名空间名称 'OrderClose'(您是否缺少 using 指令或程序集引用?)”。右键单击“new OrderClose”(OrderClose 带有红色下划线)我看不到菜单中的“解决”部分。 我也试过这种方式:
var request = new FulfillSalesOrderRequest();
request.OrderClose = new OrderClose();
request.OrderClose.LogicalName = orderEntityName;
request.OrderClose.Id = orderId;
request.Status = new OptionSetValue(newStatus);
我怎样才能使代码编译(并希望工作)?
【问题讨论】:
-
听起来您缺少程序集引用。您需要包含 SDK 需要的任何程序集才能引用 SDK 对象。
-
是的,但 FulfillSalesOrderRequest 在 Microsoft.Crm.Sdk.Messages 命名空间下,我已经包含了它。
-
这并不一定意味着
OrderClose在同一个程序集中。你确认了吗? -
查看文档中的 FulfillSalesOrderRequest 似乎 OrderClose 是 FulfillSalesOrderRequest 类型的实体类型的属性(即标准 CRM 类型)
-
再一次,仅仅因为
FulfillSalesOrderRequest可能会使用OrderClose,例如通过属性公开它的一个实例,这并不意味着它在同一个程序集中。您需要准确确认OrderClose实际定义的程序集。看看@pittofdirk 的答案;他走在正确的轨道上。
标签: c# dynamics-crm crm