C# 如何添加引用以及如何使用单元测试测试它是否是回文

C# 如何添加引用以及如何使用单元测试测试它是否是回文,c#,wpf,visual-studio,C#,Wpf,Visual Studio,首先,我对Visual Studio有问题,无法添加引用。它说无法添加对项目的引用 我的第二个问题是测试,我不打算测试,所以我可以知道单元测试和xunit测试之间的区别吗,我已经看到xunit是一个NuGet包。我不确定我的测试是否正确,它是否是回文 我试着将我的框架设置为4.0,我已经看过了,所以我可以添加一个引用,但没有成功 namespace PalindromeTest { [TestClass] public class UnitTest1 {

首先,我对Visual Studio有问题,无法添加引用。它说无法添加对项目的引用

我的第二个问题是测试,我不打算测试,所以我可以知道单元测试和xunit测试之间的区别吗,我已经看到xunit是一个NuGet包。我不确定我的测试是否正确,它是否是回文

我试着将我的框架设置为4.0,我已经看过了,所以我可以添加一个引用,但没有成功

namespace PalindromeTest
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void IsItPalindrom()
        {
            string a = "1221";
            string b = "1221";
            string res = "";
            if (a == b)
            {
                  res =a;
                  bool x = Program.IsItPalindrom(res);
            }



            Assert.IsTrue(x);
        }
    }
}
我测试单词是否为回文的方法:

 private static bool IsPalindrome(string text)
        {
            int min = 0;
            int max = text.Length - 1;

            while (true)
            {
                if (min > max)
                {
                    return true;
                }

                char a = text[min];
                char b = text[max];

                if (char.ToLower(a) != char.ToLower(b))
                {
                    return false;
                }

                min++;
                max--;
            }

当我运行测试或所有测试时,我应该在测试资源管理器上看到勾号,但由于我无法添加引用,它表示程序不包含IsItPalindrom的定义。

您的项目彼此不兼容。如果主项目的目标是netcoreapp->,那么测试项目应该是netcoreapp

如果主项目的目标是netframework->,那么测试项目也应该是netframework


但是您可以从任何.NET Framework添加对netstandard库的引用

Windows通用测试项目不能引用.NET Framework程序集。当您创建测试项目时,您应该选择Visual C#->测试下的
单元测试项目(.NET Framework)
模板,以便WPF应用程序或类库以.NET Framework为目标


xUnit与此无关。

当您尝试添加引用时,会收到什么确切的错误消息?是否只是“无法添加对项目的引用”?或者还有更多吗?只是,我使用的是VS 2017,您的测试项目(回文测试)和您的项目在同一个解决方案中吗?编辑:刚刚看到它,您的方法isAlindrom将永远不会在其类之外找到,因为它是私有的。您需要将其公开,以便能够从单元测试调用它。是的,第一个项目称为回文检查器,它是WPF程序,第二个回文检查器我认为不应该。如何从另一个项目测试“私有静态”方法?使调用可用应该是公共的我不明白吗DxUnit与此无关。您似乎正在使用MSTest。你创建了什么样的项目?@JohnDoe:那是
WPF用户控制库
还是你使用的项目模板?您使用了什么模板来创建测试项目?通用Windows测试项目不能引用.NET Framework程序集。虽然xUnit与此无关,但如果John doe想了解不同的单元测试框架,下面是一篇很好的博文,可以让您了解三种最常见的框架: