vNext将类库中的引用添加到Web应用程序

时间:2016-02-23 11:04:25

标签: c# asp.net-core

或许是愚蠢的问题,但如何将类库中的引用添加到Web应用程序?

  1. 我安装了ASP Net 5 RC1更新并准备就绪。
  2. 使用AspNet 5模板创建新网站enter image description here

  3. 创建了一个新的类库 enter image description here

  4. project.json文件在类库项目中看起来像这样

  5. 我得到的问题是,我尝试通过依赖项部分添加对Web项目的引用,我收到错误

    "项目Middleware.Tests中的依赖项Middleware 1.0.0不支持框架.NETFramework,Version = v4.5.1。 Middleware.Test"

    从消息中可以明显看出这是失败的,但是我很难理解如何添加这个引用?

    我尝试添加不同的框架版本,例如net50,但仍然没有运气。

    {
      "version": "1.0.0-*",
      "description": "Middleware.Tests Class Library",
      "authors": [ "Foo Man" ],
      "tags": [ "" ],
      "projectUrl": "",
      "licenseUrl": "",
    
      "frameworks": {
        "net451": {
          "dependencies": {
            "Middleware": ""
          }
        }
      }
    }
    

    按要求编辑web project.json文件:

    {
      "commands": {    
        "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.Kestrel --server.urls http://localhost:5000",
      },
      "compilationOptions": {
        "emitEntryPoint": true
      },
      "dependencies": {
        "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
        "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
        "Microsoft.AspNet.Http.Abstractions": "1.0.0-rc1-final",
        "Microsoft.AspNet.Hosting": "1.0.0-rc1-final",
        "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
        "Microsoft.AspNet.Server.WebListener": "1.0.0-rc1-final",
        "Microsoft.AspNet.Owin": "1.0.0-rc1-final"
      },
      "exclude": [
        "wwwroot",
        "node_modules"
      ],
      "frameworks": {
        "dnx451": {
          "dependencies": {
          }
        }
      },
      "publishExclude": [
        "**.user",
        "**.vspscc"
      ],
      "version": "1.0.0-*"
    }
    

1 个答案:

答案 0 :(得分:1)

单元测试类库被视为"应用程序",与Web应用程序和控制台应用程序相同,应用程序应使用" dnx"绰号。

net451对于普通类库是正确的,但对于单元测试项目,您应该将其更改为dnx451

请注意,此信息仅与RC1相关,在下一个版本中,将对目标标记进行更改,以便更容易定位多个框架。