如何停止在我的主项目中使用我的 dll(参考)中的 resx 文件?

How to stop the resx file in my dll(reference) from being used in my main project?

所以我有两个项目,Tester 和 Coder。 我在我的 Tester 项目中添加了 Coder.dll 作为参考, 问题是这两个项目都有自己的 'SetUp.resx' 文件用于设置,并且出于某种原因Tester 项目正在使用 Coder 的 'SetUp.resx' 文件而不是它自己的 SetUp.resx 文件。

 Coder has a string Name "browser" whose values are "Chrome, Firefox"
 Tester has a string Name "browser" whose value is "Chrome"

如上所示, “Browser”值用于进行测试,因此在 Coder 中将有两个测试用例,即“Chrome 和 firefox” 在 Tester 中应该只有一个测试,即 Chrome 但它仍然显示 2 个测试(Chrome 和 Firefox) 这表明它从 Coder.dll

SetUp.resx 文件在 Tester

中的样子
    Name    |          Value        |Comments   
    Browser |         Chrome        |Browser to be tested with separated by Comma
 BuildNumber|          v2.1         |aka version
       

这就是我在 Tester

中为 SetUp.Designer.cs 所做的
        private static global::System.Resources.ResourceManager resourceMan;
        
        private static global::System.Globalization.CultureInfo resourceCulture;
        
        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
        internal SetUp() {
        }
        
        /// <summary>
        ///   Returns the cached ResourceManager instance used by this class.
        /// </summary>
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
        internal static global::System.Resources.ResourceManager ResourceManager {
            get {
                if (object.ReferenceEquals(resourceMan, null)) {
                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TestProject3.Configurations.SetUp", typeof(SetUp).Assembly);  //Path of Tester's SetUp.resx
                    resourceMan = temp;
                }
                return resourceMan;
            }
        }
        
        /// <summary>
        ///   Overrides the current thread's CurrentUICulture property for all
        ///   resource lookups using this strongly typed resource class.
        /// </summary>
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
        internal static global::System.Globalization.CultureInfo Culture {
            get {
                return resourceCulture;
            }
            set {
                resourceCulture = value;
            }
        }
        
 internal static string BuildNumber {
            get {
                return ResourceManager.GetString("BuildNumber", resourceCulture);
            }
        }
              
         internal static string Browser { //Gets string value for Browser in SetUp.resx
                    get {
                        return ResourceManager.GetString("Browser", resourceCulture);
                    }
                }
    }

这是访问resx的函数代码

internal static IEnumerable Browsers()
    {

        get
        {
            String[] browser = Configurations.SetUp.Browser.Split(",");
            foreach (string b in browser)
           {
                yield return b;
            }
        }
    }

谁能告诉我哪里出错了以及我的代码中应该更改什么?

我试图找到一种使用资源文件的文件路径的方法,这样测试人员就不会与编码人员的 resx 混淆。

internal static IEnumerable Browsers()
    {
        var enviroment = System.Environment.CurrentDirectory;
        string resxFile = Directory.GetParent(enviroment).Parent.Parent.FullName + @"\Configurations\SetUp.resx";
        
        String[] browser;
        IDictionaryEnumerator dict;
        string key;
        using (ResXResourceSet resSet = new ResXResourceSet(resxFile))
        {
            dict = resSet.GetEnumerator();
            while (dict.MoveNext())
            {
                key = (string)dict.Key;
                // Retrieve resource by name.
                if (dict.Key is "Browser")
                {
                    browser = resSet.GetString(key).Split(",");
                    foreach (string b in browser)
                    {
                        yield return b;
                    }

                }
            }
        }
    }