Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 系统缺少方法异常。为什么会这样_C#_Asp.net Core_Asp.net Web Api_Asp.net Core Webapi_Factory - Fatal编程技术网

C# 系统缺少方法异常。为什么会这样

C# 系统缺少方法异常。为什么会这样,c#,asp.net-core,asp.net-web-api,asp.net-core-webapi,factory,C#,Asp.net Core,Asp.net Web Api,Asp.net Core Webapi,Factory,我想知道这里是否有人能帮忙。我有一个项目作为一个总体,其中包括5个布局。现在我正试图用dotnetcore编写api,它使用数据访问和commone布局。因此,我添加了这2个dll作为程序集引用(它们使用的是dotnet framwork),并在我的api中调用它们的类: [HttpPost("login")] public IActionResult login(LoginDto user) { General.Co

我想知道这里是否有人能帮忙。我有一个项目作为一个总体,其中包括5个布局。现在我正试图用
dotnetcore
编写api,它使用数据访问和
commone
布局。因此,我添加了这2个dll作为程序集引用(它们使用的是
dotnet framwork
),并在我的api中调用它们的类:

[HttpPost("login")]
        public IActionResult login(LoginDto user)
        {

            General.Common.cLoadUserPermission.stcLoginInfo _LI = new cLoadUserPermission.stcLoginInfo();

            if (user.UserName.ToLower() == "adminy" && user.Password.ToLower()== "rddddlad91")
            {
                _LI.LoginError = enmLoginError.enmLoginError_NoError;
                _LI.UserID = "d56d79f4-1f06-4462-9ed7-d4292322555d";
                _LI.UserName = "مدير سيستم";
                _LI.UserLoginName = "adminy";
                _LI.PersonelID = Guid.Empty;
                _LI.IsSupervisor = false;
                GlobalItems.CurrentUserID = _LI.UserID;
                GlobalItems.CurrentUserPLE = _LI.UserLoginName;
                GlobalItems.CurrentUserName = _LI.UserName;
            }
            else
            {
                _LI.LoginError = enmLoginError.enmLoginError_UserNameNotFound;
            }

            //DateTime _t = General.Common.cPersianDate.GetDateTime("1364/02/03");
            General.Common.cLoadUserPermission _cLUP = new General.Common.cLoadUserPermission();
            _LI = _cLUP.login(user.UserName, user.Password, 0);



            switch (_LI.LoginError)
            {
                case General.Common.enmLoginError.enmLoginError_NoError:
                    break;
                case General.Common.enmLoginError.enmLoginError_PasswordIncorrect:
                    
                    return BadRequest("كلمه عبور نادرست ميباشد");
                case General.Common.enmLoginError.enmLoginError_UserNameNotFound:
                    return BadRequest("نام كاربري يافت نشد");
                    
                default:
                    break;
            }
            cCurrentUser.CurrentUserID = _LI.UserID;
            cCurrentUser.CurrentPersonelID = _LI.PersonelID;
            cCurrentUser.CurrentUserLoginName = _LI.UserLoginName;
            GlobalItems.CurrentUserID = _LI.UserID;
            GlobalItems.CurrentUserPLE = _LI.UserLoginName;
            GlobalItems.CurrentUserName = _LI.UserName;


            FiscalYearDS fiscalYearDs = null;
            Guid selectedFiscalYearID = Guid.Empty;
            using (IFiscalYear service = FacadeFactory.Instance.GetFiscalYearService())
            {
                fiscalYearDs = service.GetFiscalYearByOID(user.FiscalYear.ToString());
                selectedFiscalYearID = fiscalYearDs.tblFiscalYear[0].FiscalYearID;
            }
            Configuration.Instance.CurrentFiscalYear = fiscalYearDs;
            this.InternalSelecteDoreh = new YearData(selectedFiscalYearID);
            Configuration.Instance.CurrentYear = this.SelectedDoreh;


            General.Common.Data.FiscalYearDS generalfiscalyearDS = null;
            using (General.Common.IFiscalYear service = General.Common.FacadeFactory.Instance.GetFiscalYearService())
            {
                generalfiscalyearDS = service.GetFiscalYearByOID(user.FiscalYear.ToString());
            }
            General.Common.Configuration.Instance.CurrentFiscalYear = generalfiscalyearDS;
            General.Common.Configuration.Instance.CurrentYear = new General.Common.YearData(selectedFiscalYearID); ;


            Sales.Common.YearData _SMSYearData = new Sales.Common.YearData(General.Common.Configuration.Instance.CurrentYear.FiscalYearID);
            Sales.Common.Configuration.Instance.CurrentYear = _SMSYearData;
            Sales.Common.Data.FiscalYearDS fiscalyearSMSDS = null;
            selectedFiscalYearID = Guid.Empty;
            using (Sales.Common.IFiscalYear service = Sales.Common.FacadeFactory.Instance.GetFiscalYearService())
            {
                fiscalyearSMSDS = service.GetFiscalYearByOID(General.Common.Configuration.Instance.CurrentYear.FiscalYearID.ToString());
                //selectedFiscalYearID = fiscalyearDS.FiscalYear[0].FiscalYearID;
            }
            Sales.Common.Configuration.Instance.CurrentFiscalYear = fiscalyearSMSDS;
            return Ok();
        }
主要部分如下:

  General.Common.cLoadUserPermission _cLUP = new General.Common.cLoadUserPermission();
            _LI = _cLUP.login(user.UserName, user.Password, 0);
这是我在general.common中的登录方法,这是一个带有dot net的项目(5种布局之一):

主要部分和问题发生在这里:

using (IUsers service = FacadeFactory.Instance.GetUsersService()) // here I got error
            {
                SearchFilter sf = new SearchFilter();
                sf.AndFilter(new FilterDefinition(_ds.vwUsers.LoginNameColumn, FilterOperation.Equal, LoginName));
                tbl = service.GetUsersByFilter(sf);
            }
在这一行中
使用(IUsers service=FacadeFactory.Instance.GetUsersService())
我得到以下错误:

System.MissingMethodException: Method not found: 'System.Object System.Activator.GetObject(System.Type, System.String)'.
   at General.Common.FacadeFactory.GetUsersService()
   at General.Common.cLoadUserPermission.login(String LoginName, String PassWord, Int64 _forDesablingAnotherVersions)
我不明白为什么编译器在该方法中找不到
GetUsersService()
System.Object System.Activator.GetObject(System.Type,System.String)
。此
facadfactory
是一个通用类。通用程序集,代码如下:

        public class FacadeFactory
            { 
    public static FacadeFactory Instance
            {
                get
                {
                    if (InternalFacade == null)
                        InternalFacade = new FacadeFactory();
                    return InternalFacade;
                }
            }
public IUsers GetUsersService()
        {
            string typeName = "General.Facade.UsersService";
            IUsers temp = null;

            if (Configuration.Instance.RemoteMode)
            {
                return new UsersClientProxy((IUsers)Activator.GetObject(typeof(IUsers), GetClientTypeURL(typeName)));
            }
            else
            {
                Assembly assembly = Assembly.LoadFrom(Configuration.Instance.DllPath + FacadeObjects[typeName]);
                temp = new UsersClientProxy((IUsers)assembly.CreateInstance(typeName));
            }

            return temp;
        }
}
我阅读并尝试了所有这些。但它们中的任何一个都不起作用,即使是清洁和重建。感谢阅读此文章。

该方法在.NET Core上不存在,您可以在该类的文档中看到。有关更多信息,请参阅评论

最后,如果必须使用该方法,您可能希望坚持使用完整的框架。

该方法在.NET Core上不存在,您可以在该类的文档中看到。有关更多信息,请参阅评论


最后,如果必须使用该方法,您可能希望坚持完整框架。

这意味着我必须将dotnet core更改为dotnet framework?有了这个,我必须自杀:(谢谢dude@eshghiali您可能想看看是否有可能更改远程代码。这样您就可以继续使用.NET Core。这意味着我必须将dotnet Core更改为dotnet framework?有了它,我必须自杀:(谢谢dude@eshghiali您可能想看看是否有可能更改远程代码。这样您就可以继续使用.NETCore。
        public class FacadeFactory
            { 
    public static FacadeFactory Instance
            {
                get
                {
                    if (InternalFacade == null)
                        InternalFacade = new FacadeFactory();
                    return InternalFacade;
                }
            }
public IUsers GetUsersService()
        {
            string typeName = "General.Facade.UsersService";
            IUsers temp = null;

            if (Configuration.Instance.RemoteMode)
            {
                return new UsersClientProxy((IUsers)Activator.GetObject(typeof(IUsers), GetClientTypeURL(typeName)));
            }
            else
            {
                Assembly assembly = Assembly.LoadFrom(Configuration.Instance.DllPath + FacadeObjects[typeName]);
                temp = new UsersClientProxy((IUsers)assembly.CreateInstance(typeName));
            }

            return temp;
        }
}