我正在使用VS Update 3(14.0.25425.01)。这就是我所做的:
net462
添加到框架,netcoreapp1.0
,在project.json中导入我在恢复时没有错误,并且引用被添加到ASP.Net Core应用程序中。但是,我无法访问它。我无法添加使用导入声明或访问对象。我经历了很多事情,但似乎没有任何工作,帖子的版本很碎片。
更新 我做了Nate建议的。我以为我已经尝试过了..但是我现在可以访问我的4.6.2库了。但是,我现在收到编译错误。
答案 0 :(得分:4)
这在Visual Studio 2015 Update 3中有效,但您的project.json
并不合适。
不应将net462
添加到imports
部分,而应将其放在frameworks
部分中:
"frameworks": {
"net461": { },
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
}
}
}
请注意,Microsoft.NETCore.App
依赖项也需要移至netcoreapp1.0
部分。这是因为只有在编译为.NET Core应用程序时才需要这种依赖关系。
您的.NET 4.6.2库的引用只是dependencies
部分的一部分:
"dependencies": {
(...)
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"MyLibrary": {
"target": "project"
}
}
通过这种方式构造它,我能够在我的.NET 4.6.2库中引用和使用类而没有任何问题。
供参考,这是我使用的整个工作project.json
:
{
"dependencies": {
"Microsoft.AspNetCore.Mvc": "1.0.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Configuration.CommandLine": "1.0.0",
"Microsoft.Extensions.Logging": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"MyLibrary": {
"target": "project"
}
},
"frameworks": {
"net461": { },
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
}
}
},
"version": "1.0.0-*"
}
答案 1 :(得分:1)
@NateBarbettini回答完成了我原来的问题。但我无法使用我的.Net 4.6.1项目运行ASP.Net核心Web应用程序版本1,因为它无法为我的.Net 4.6.1项目找到.NetCore.App v1程序集。所以我使用以下project.json将project.json添加到我的.Net 4.6.1项目中。
{
"version": "1.0.0-*",
"dependencies": {
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
},
"net461": {}
}
}
接下来,在ASP.Net Core Web Application中,通过在.NetCore.App下添加依赖项来修改project.json。这样它将获得两个版本,4.6.1和.NetCore v1。
...
"frameworks": {
"net461": {
"dependencies": {
"ClassLibrary1": {
"target": "project"
}
}
},
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8",
"net461"
],
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
},
"ClassLibrary1": {
"target": "project"
}
}
}
}
到目前为止,我可以在.Net 4.6.1中进行开发,它可以在.NetCore.App v1下运行。但是,我认为在我的.Net 4.6.1项目中有其他依赖项时会出现问题。