C# CodeWars编译器显示的错误是什么?

C# CodeWars编译器显示的错误是什么?,c#,C#,我正在努力学习C,我还是一个初学者。最近,我发现了一个允许你练习和训练的网站,但我在做这个网站的时候遇到了一个问题。 当我在VisualStudio中键入此代码时,它可以工作,但在网站上却不能工作,网站会告诉我有一个错误 网站是:www.codewars.com 代码是: public class DnaStrand { public static string MakeComplement(string dna) { int length = dna.Leng

我正在努力学习C,我还是一个初学者。最近,我发现了一个允许你练习和训练的网站,但我在做这个网站的时候遇到了一个问题。 当我在VisualStudio中键入此代码时,它可以工作,但在网站上却不能工作,网站会告诉我有一个错误

网站是:www.codewars.com

代码是:

public class DnaStrand 
{
    public static string MakeComplement(string dna)
    {
        int length = dna.Length;
        string [] smash = new string[length];
        for (int i = 0; i < length; i++)
        {
            smash[i] = n.Substring(i,1);
        }
        for (int k = 0; k < length; k++)
        {
            if (smash[k] == "A") { smash[k] = "T"; }
            else if (smash[k] == "T") { smash[k] = "A"; }
            else if (smash[k] == "G") { smash[k] = "C"; }
            else if (smash[k] == "C") { smash[k] = "G"; }
        }
        for (int o = 0; o < length; o++)
        {
            Console.Write(smash[o]);
        }
    }
}
编辑

错误是:

/home/codewarrior/fixture.cs1,17:错误CS0234:名称空间Microsoft中不存在类型或名称空间名称VisualStudio'。是否缺少程序集引用

错误:命令失败:mcs-out:/home/codewarrior/test.dll-lib:/home/codewarrior,/runner/frameworks/csharp/mono-4.5,/runner/frameworks/csharp/nunit/bin-langversion:Default-sdk:4.5-warn:2-target:library-r:nunit.core.dll,nunit.framework.dll,nunit.core.interfaces.dll,nunit.util,Newtonsoft.Json.dll-r:System.Numerics.dll-r:System.Drawing.dll-r:System.Data.dll-r:System.Data.SQLite.Linq.dll-r:System.Data.SQLite.Linq.dll-r:System.Linq.dll-r:System.Linq.Dynamic.dll-r:System.Linq.Expressions.dll-r:System.Messaging.dll-r:System.Threading.Tasks.dll-r:System.Xml.dll-r:Mono.Linq.Expressions.dll/home/codewarrior/code.cs/home/codewarrior/fixture.cs
/home/codewarrior/fixture.cs1,17:错误CS0234:名称空间Microsoft中不存在类型或名称空间名称VisualStudio'。是否缺少程序集引用?

问题在于CodeWars使用了,而您正在尝试使用MSTest framework,它不是工具包的一部分


基于安装后用于测试的可用库。

基本上,在CodeWars上编译C代码的机器没有安装Visual Studio单元测试库。这就解释了为什么它在VisualStudio中编译,因为VisualStudioIDE在安装时附带了测试库,而CodeWars机器没有,因为它似乎使用的是Mono

根据a,您应该使用NUnit框架,例如:

using NUnit.Framework;

[TestFixture]
public class DnaStrandTest {
    [Test]
    public void test01() {
        Assert.AreEqual("TTTT", DnaStrand.MakeComplement("AAAA"));
    }
    [Test]
    public void test02() {
        Assert.AreEqual("TAACG", DnaStrand.MakeComplement("ATTGC"));
    }
    [Test]
    public void test03() {
        Assert.AreEqual("CATA", DnaStrand.MakeComplement("GTAT"));
    }
}

您正在使用Microsoft.VisualStudio,找不到名称空间VisualStudio的位置。可能的解决方案:单元测试似乎无法编译,因为它们依赖于某些程序集,而这些程序集不可用,因此站点无法编译您的代码。谢谢,我感谢您的回答