问题在ASP.NET 5(Core)中添加对类库项目的引用

前端之家收集整理的这篇文章主要介绍了问题在ASP.NET 5(Core)中添加对类库项目的引用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
嗨,首先我知道类似的问题,以前曾经问过,但现在已经过时了,我正在使用Visual Studio 2015 rtm和ASP.NET 5 beta 6。

我试图添加一个普通(即不是vnext)类库项目的引用到我的vnext Web应用程序。如果我按照以下步骤:

>创建一个新的Web应用程序项目
>从project.json中删除“dnxcore50”框架
>为普通类库添加一个新项目
>手动将类库项目移动到/ src文件夹中(否则我得到错误“依赖关系MyClassLibrary1> = 1.0.0- *无法解析。”)
>添加对这个类库的引用

现在它建立好了,但是如果我尝试添加“使用MyClassLibrary1”,它表示MyClassLibrary1在当前上下文中不存在。

如果我然后将类库更改为目标.NET 4客户端配置文件(默认情况下为4.6),则它可以正常工作,但是.NET 4 full或4.5不起作用。我需要4.5或更高版本,因为我需要参考需要这个的各种包。理想情况下,一切都只能达到4.6。

这是我的project.json文件

{
  "webroot": "wwwroot","userSecretsId": "aspnet5-WebApplication2-6767111e-0eba-42a4-9d68-4b6c20767518","version": "1.0.0-*","dependencies": {
    "EntityFramework.sqlServer": "7.0.0-beta6","EntityFramework.Commands": "7.0.0-beta6","Microsoft.AspNet.Mvc": "6.0.0-beta6","Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta6","Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta6","Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta6","Microsoft.AspNet.Authentication.Google": "1.0.0-beta6","Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta6","Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta6","Microsoft.AspNet.Diagnostics": "1.0.0-beta6","Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta6","Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta6","Microsoft.AspNet.Server.IIS": "1.0.0-beta6","Microsoft.AspNet.Server.WebListener": "1.0.0-beta6","Microsoft.AspNet.StaticFiles": "1.0.0-beta6","Microsoft.AspNet.Tooling.Razor": "1.0.0-beta6","Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta6","Microsoft.Framework.Configuration.Json": "1.0.0-beta6","Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta6","Microsoft.Framework.Logging": "1.0.0-beta6","Microsoft.Framework.Logging.Console": "1.0.0-beta6","Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta6"
  },"commands": {
    "web": "Microsoft.AspNet.Hosting --config hosting.ini","ef": "EntityFramework.Commands"
  },"frameworks": {
    "dnx451": {
      "dependencies": {
        "MyClassLibrary1": "1.0.0-*"
      }

    }
  },"exclude": [
    "wwwroot","node_modules","bower_components"
  ],"publishExclude": [
    "node_modules","bower_components","**.xproj","**.user","**.vspscc"
  ],"scripts": {
    "prepublish": [ "npm install","bower install","gulp clean","gulp min" ]
  }
}

和我的global.json文件

{
  "projects": [
    "src","test","wrap"
  ],"sdk": {
    "version": "1.0.0-beta6"
  }
}

解决方法

这是我如何使用beta6(更新:它仍然有效的RC1更新1)。

> Remove frameworks =>你的project.json的dnxcore(你无法使用完整的.net类库)
>在您的目标项目中,右键单击References =>添加参考
>导航并选择要添加的引用dll。

这将为您的project.json文件添加引用条目。
幕后,dll被复制到解决方案中的/ lib目录中,在/ wrap文件夹中创建一个只包含一个project.json文件的“包装项目”。包装项目在这里记录(不够好):https://github.com/aspnet/Home/wiki/Project.json-file#bin-syntax-wrapping-a-dll

而已!我刚刚测试了这种情况。希望这可以帮助。

猜你在找的asp.Net相关文章