我有四个图书馆项目,都是针对netstandard1.5
框架的。其中一些依赖于另一个,智能感知在这四个项目下运作良好。
我正在尝试在ASP.NET netcoreapp1.0
项目中使用这些库。但是当我定位netcoreapp1.0
框架时,找不到类型(在visual studio中用红色标出)。项目hower编译并成功运行。
当我切换到web api中的netstandard1.5
框架时,库的类型被识别,我得到了智能感知。
关于如何解决这个问题或我做错了什么的想法?
以下是其中一个图书馆项目的project.json
(它们几乎相同):
{
"version": "1.0.0-*",
"frameworks": {
"netstandard1.5": {
"imports": [ "dnxcore50", "portable-net45+win8" ],
"dependencies": {
"NETStandard.Library": "1.5.0-rc2-24027",
"System.Security.Principal": "4.0.1-rc2-24027"
}
}
},
"dependencies": {
"Microsoft.AspNetCore.Identity": "1.0.0-rc2-final",
"Microsoft.EntityFrameworkCore": "1.0.0-rc2-final",
"HoehenSucht.Models": "1.0.0-*",
"Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027"
}
}
以下是api的project.json
:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"HoehenSucht.Framework": "1.0.0-*",
"HoehenSucht.Models": "1.0.0-*",
"HoehenSucht.Repositories": "1.0.0-*",
"HoehenSucht.Services": "1.0.0-*",
"HoehenSucht.Authentication": "1.0.0-*",
"Microsoft.ApplicationInsights.AspNetCore": "1.0.0-rc2-final",
"Microsoft.Extensions.Configuration": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final",
"Autofac.Extensions.DependencyInjection": "4.0.0-rc2-240",
"AutoMapper": "4.2.1",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final",
"System.Security.Principal": "4.0.1-rc2-24027",
"System.Reflection": "4.1.0-rc2-24027",
"IdentityServer4.AccessTokenValidation": "1.0.0-beta6",
"Microsoft.AspNetCore.Authorization": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Hosting": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",
"Microsoft.EntityFrameworkCore": "1.0.0-rc2-final",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-final",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview1-final",
"Autofac": "4.0.0-rc2-240",
"Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0-rc2-final",
"HoehenSucht.API.Models": "1.0.0-*",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final",
"Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final",
"System.Linq": "4.1.0-rc2-24027",
"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-rc2-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",
"System.Linq.Parallel": "4.0.1-rc2-24027",
},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-*"
},
"System.Collections": "4.0.11-rc2-24027",
},
"imports": [ "dnxcore50", "portable-net45+win8" ]
}
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools": {
"version": "1.0.0-preview1-final",
"imports": [
"portable-net45+win8+dnxcore50",
"portable-net45+win8"
]
}
}
}
答案 0 :(得分:4)
Resharper这里的问题不是Visual Studio。
http://blog.jetbrains.com/dotnet/2016/05/27/resharper-ultimate-2016-2-eap-kicks-off/
ASP.NET Core 1.0 RC2的初始支持,包括在代码完成,导航,搜索和重构方面对标记帮助程序的支持。此时,如果ASP.NET Core Web应用程序的目标是.NET Framework,但如果不支持 ,则支持ASP.NET Core应用程序。我们希望在后续版本中改进这一点。
因此,如果您有一个目标库.netstandard1.5
,Resharper将无法正确显示智能感知信息,但该项目将进行编译。
但是,如果您将.netcoreapp1.0
框架作为附加框架添加到project.json
文件中,Resharper将起作用,您将获得完整的智能感知支持。
frameworks": {
"netstandard1.5": {
"imports": [ "dnxcore50", "portable-net45+win8" ],
"dependencies": {
"NETStandard.Library": "1.5.0-rc2-24027",
"System.Security.Principal": "4.0.1-rc2-24027"
}
},
".netcoreapp1.0": {
"imports": [ "dnxcore50", "portable-net45+win8" ]
}
},