gpt4 book ai didi

asp.net - 在 ASP.NET 5(核心)中添加对类库项目的引用时出现问题

转载 作者:行者123 更新时间:2023-12-02 06:56:20 27 4
gpt4 key购买 nike

您好,首先我知道以前曾问过类似的问题,但它们现在已经过时了,我正在使用 Visual Studio 2015 rtm 和 ASP.NET 5 beta 6。

我正在尝试将对普通(即不是 vnext)类库项目的引用添加到我的 vnext Web 应用程序中。如果我按照以下步骤操作:

  1. 创建新的网络应用项目

  2. 从project.json中删除“dnxcore50”框架

  3. 为普通类库添加一个新项目

  4. 手动将类库项目移动到/src 文件夹中(否则我会收到错误“无法解析依赖项 MyClassLibrary1 >= 1.0.0-*。”)

  5. 添加对此类库的引用

现在它构建正常,但如果我尝试添加“using 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 仍然有效)。

  1. 从您的 project.json 中删除框架 => dnxcore(无论如何您都无法使用完整的 .net 类库来定位它)
  2. 在目标项目中右键单击“引用”=>“添加引用”
  3. 导航并选择要添加的引用 dll。

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

就是这样!我刚刚测试了这个场景。希望这会有所帮助。

关于asp.net - 在 ASP.NET 5(核心)中添加对类库项目的引用时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31804623/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com