尝试添加引用时出现循环依赖错误

HDe*_*007 1 c#

在我的解决方案中,有2个项目:Helper和Service。Helper项目有对服务的引用

在我的助手项目中

文化帮手

 public static class CultureHelper
    {
    public static Location GetLocationBasedOnCulture(string cultureName)
            {
                Location location = Location.UK;
                if (cultureName == Constants.CultureConstants.Italy)
                {
                    location = Location.Italy;
                }
                return location;
            }
    }
Run Code Online (Sandbox Code Playgroud)

文化常数:

public static class CultureConstants
    {
        public static readonly string UK = "en-GB";
        public static readonly string Italy = "it-IT";

    }
Run Code Online (Sandbox Code Playgroud)

在服务中我尝试添加此方法:

public Enum DetermineLocation()
        {
            var culture = CultureHelper.GetCurrentCulture();
            Location location = CultureHelper.GetLocationBasedOnCulture(culture);
            return location;
        }
Run Code Online (Sandbox Code Playgroud)

我正在尝试向使用静态 CultureHelper 类的服务添加一个方法,但我无法添加对服务中帮助程序的引用,因为这会导致循环依赖。我该如何继续呢?创建一个接口是否可以解决这个问题以及如何解决。

Bhu*_*tha 6

您无法在已经引用了您的第一个项目的项目中添加对该项目的引用。说

您有两个项目ProjectAProjectB 现在您在ProjectA中添加ProjectB的引用 当您尝试在ProjectB中添加ProjectA的引用时,当您将一个项目指向另一个项目时,您将获得循环依赖。

因此,要解决这个问题,您应该创建ProjectC,添加对ProjectB的引用,最后您可以在ProjectA中添加ProjectC的引用