C# ';以下方法或属性之间的调用不明确';在相同的路径上

C# ';以下方法或属性之间的调用不明确';在相同的路径上,c#,.net,umbraco,umbraco-ucommerce,C#,.net,Umbraco,Umbraco Ucommerce,我在使用Umbraco/uCommerce时遇到了一个奇怪的错误,我构建了一个支持库,突然我遇到了一个奇怪的错误,阻止了编译 错误9以下方法或方法之间的调用不明确 特性: 'uCommerce_样板文件.Web.Controllers.ExtensionFunctions.ToDescription(System.Enum)' 和 'uCommerce_样板文件.Web.Controllers.ExtensionFunctions.ToDescription(System.Enum)' 我有一个

我在使用Umbraco/uCommerce时遇到了一个奇怪的错误,我构建了一个支持库,突然我遇到了一个奇怪的错误,阻止了编译

错误9以下方法或方法之间的调用不明确 特性: 'uCommerce_样板文件.Web.Controllers.ExtensionFunctions.ToDescription(System.Enum)' 和 'uCommerce_样板文件.Web.Controllers.ExtensionFunctions.ToDescription(System.Enum)'

我有一个文件包含几个特性,这是提示错误的代码段

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Globalization;
using System.Linq;
using UCommerce;
using UCommerce.EntitiesV2;
using UCommerce.Infrastructure;
using UCommerce.Transactions;
using UCommerce.Transactions.Payments;
using UCommerce.Transactions.Payments.Dibs;

namespace uCommerce_Boilerplate.Web.Controllers
{
    public static class ExtensionFunctions
    {
        public static string ToDescription(this Enum value)
        {
            var da = (DescriptionAttribute[])(value.GetType().GetField(value.ToString())).GetCustomAttributes(typeof(DescriptionAttribute), false);
            return da.Length > 0 ? da[0].Description : value.ToString();
        }
    }
    public static class SupportLib
    {
        public enum MethodName
        {
            [Description("Invoice")] Invoice = 1,
        }
        public static void RunOrder(MethodName methodName = MethodName.Invoice)
        {
            // The methodName.ToDescription() is throwing the error
            PaymentMethod method = getPaymentMethod(methodName.ToDescription());
        }
    }
}

在程序集引用中可能有一个循环引用,这就是方法调用突然变得不明确的原因


正如您在问题注释中所述,您已从程序集本身使用了
UserControls
,VS设计器可能已将包含程序集的
UserControl的
引用添加到其自身,因为当您使用VS工具箱中的
UserControl
时,有时会发生这种情况。

此方法存储在何处?在它自己的集合中?我很早就错误地按了回车键发布了这个问题。我在Controllers文件夹中有一个名为SupportLib.cs的文件,它包含两部分代码,还包含其他不会引发错误的支持类。您的程序集是否包含从VS工具箱拖到设计器表面上的
UserControl
类?可能,这会起到什么作用?我只是在后端设置类,代码没有被任何东西使用。当用户控件拖到曲面上时,设计器会自动添加对当前程序集的引用。你的程序集依赖于它自己。是的,这肯定是一个循环问题,这个类只是站在那里,不知怎么地,一个错误一个错误地生成7个错误。该类及其函数除了在代码中的显示方式外,没有其他用途。如果我将该函数移动到SupportLib中并删除ExtensionFunctions类,则错误仍然存在,引用了现在不存在的ExtensionFunctions和SupportLib。