VSCode多项目参考

时间:2016-08-24 13:30:19

标签: c# visual-studio-code .net-core .net-core-rc2

我在创建C#程序和多个文件夹结构的VSCode方面遇到了一些问题。

例如,我有一个文件夹调用SampleProject1(我认为文件夹项目可能是我错了)在这个文件夹中我有我的Program类,它有我的测试应用程序的入口点,在主要的方法中程序类I引用位于第二个文件夹中的Test类调用SampleProject2,但是当我运行程序时,我得到一个错误,我的测试类不存在。

我尝试做的事情远远不够。

  1. 我尝试将SampleProject2添加为SampleProject1的project.json依赖项,但是没有用。
  2. 我运行SampleProject 2的dotnet包,并作为依赖于project.json的SampleProject1添加,但也失败了。
  3. 我也尝试运行" yo aspnet"命令创建csproj,但我认为不再有效,请参阅链接here
  4. 我去了VSCode GitHUb并没有找到真正的C#测试示例(奇怪)
  5. SampleProject1上的project.json

    {
      "version": "1.0.0-*",
      "buildOptions": {
        "debugType": "portable",
        "emitEntryPoint": true
      },
      "dependencies": {
    
      },
      "frameworks": {
        "netcoreapp1.0": {
          "dependencies": {
            "Microsoft.NETCore.App": {
              "type": "platform",
              "version": "1.0.0"
            }
          },
          "imports": "dnxcore50"
        }
      }
    }
    

    SampleProject1上的Program.cs

    using System;
    using SampleProject2;
    
    namespace SampleProject1
    {
        public class Program
        {
            public static void Main(string[] args)
            {
                var test = new TestClass();
                Console.WriteLine("Hello World!");
            }
        }
    }
    

    SampleProject2上的project.json

    {
      "version": "1.0.0-*",
      "buildOptions": {
        "debugType": "portable"
      },
      "dependencies": {},
      "frameworks": {
        "netcoreapp1.0": {
          "dependencies": {
            "Microsoft.NETCore.App": {
              "type": "platform",
              "version": "1.0.0"
            }
          },
          "imports": "dnxcore50"
        }
      }
    }
    

    SampleProject2上的TestClass.cs

    namespace SampleProject2
    {
    
        public class TestClass
        {
            public int Id { get; set; }
        }
    
    }   
    

    更新: 我能够通过在项目的根目录上设置文件夹来编译应用程序。但我没有得到充分的知识

    VSCode Extructure enter image description here

    编译错误命令Pront enter image description here

3 个答案:

答案 0 :(得分:1)

VSCode尚不支持C#项目。请参阅github响应here,智能感知问题是回答here

答案 1 :(得分:0)

我无法看到屏幕截图中的错误被截断(您可以复制并粘贴错误而不是屏幕截图吗?),但您已声明TestClass()但是正在尝试实例化{{1}这对我来说看起来像是一个简单的错字......

答案 2 :(得分:0)

要构建具有多个项目的解决方案,请在SampleProject1/project.json内添加外部库的依赖项:

"dependencies": {
    "SampleProject2": "1.0.0-*"
  },

然后启用IntelliSense使用OmniSharp feature在多个项目之间切换。

由于SampleProject1依赖于SamleProject2,最好的方法是在两个项目(root)上引导OnmiSharp引擎。点击Select project,然后选择最适合您的内容。

enter image description here enter image description here