How to reference an ASP.NET 5 project from another project?

前端 未结 2 1053
死守一世寂寞
死守一世寂寞 2020-12-21 03:53

I have a Web Application project created from ASP.NET 5 Preview Templates in VS2015. It is running on dnx 1.0.0-beta7, but I\'m using full .NET framework rather than .NET Co

2条回答
  •  长情又很酷
    2020-12-21 04:05

    The easiest way is to make sure that your ASP.NET 5 web project and the test project share a common parent directory. For example:

    Solution
    |-- Web
    |   |-- project.json
    |-- Tests
    |   |-- project.json
    

    That way Roslyn will be able to resolve the symbols across different subdirectories.

    Of course, you'll also need to add a dependency from the Tests project to the Web project in the Tests\project.json file:

    {
        "webroot": "wwwroot",
        "version": "1.0.0-*",
    
        "dependencies": {
            "Web": "1.0.0-*"
        },
    
        "frameworks": {
            "dnx451": { },
            "dnxcore50": { }
        }
    }
    

    If they can't have common parent directory, you can always add a global.json file in the root directory with the list of subdirectories that contain source code.

    Solution
    |-- global.json
    |-- Web
    |   |-- project.json
    |-- Tests
    |   |-- project.json
    

    where global.json contains:

    {
        "sources": ["Web", "Tests"]
    }
    

    Using "Add Reference" in Visual Studio 2015

    If when you reference a class library project from an ASP.NET 5 Web project using the Add Reference dialog in Visual Studio 2015 you get this error:

    A reference to could not be added.

    It means that the project you're trying to reference isn't a DNX project but rather a normal Class Library project. You need to make sure that the class library is an ASP.NET Class Library (Package) project in order to reference it.

提交回复
热议问题