Asp.net core ASP.NET核心项目在其引用的项目中找不到类/方法
作为一名初学者,我尝试按照正确的方法创建类库项目或ASP.Net核心webApi。我国的情况是: 1) 我使用.NETCore创建了一个类库项目(我们称之为“AAA”)。类库的框架应该是“netstandard1.6”我知道。我定义了1个静态类及其方法 2) 然后我创建了另一个Asp.Net Core WebApi项目,我们称之为“BBB”。project.json文件中的默认框架是“netcoreapp1.0” 然后在项目BBB--“引用”中,我添加项目AAA作为引用。没有错误发生。然而,如果我尝试使用prject AAA中定义的静态类/方法,VisualStudio告诉我无法找到静态类。(与传统的.Net项目不同,它将自动弹出建议,如果我单击链接,VS将自动添加代码并为我排序。) 但如果我将鼠标移动到红色错误部分的顶部,VS(或更清晰的)确实建议“参考项目AAA…NETStandard,Version=v1.6”,并使用项目AAA.static类/方法…”。然而,即使我点击这个建议,仍然没有任何变化 为什么会这样?我该如何修复它Asp.net core ASP.NET核心项目在其引用的项目中找不到类/方法,asp.net-core,asp.net-core-mvc,.net-core,Asp.net Core,Asp.net Core Mvc,.net Core,作为一名初学者,我尝试按照正确的方法创建类库项目或ASP.Net核心webApi。我国的情况是: 1) 我使用.NETCore创建了一个类库项目(我们称之为“AAA”)。类库的框架应该是“netstandard1.6”我知道。我定义了1个静态类及其方法 2) 然后我创建了另一个Asp.Net Core WebApi项目,我们称之为“BBB”。project.json文件中的默认框架是“netcoreapp1.0” 然后在项目BBB--“引用”中,我添加项目AAA作为引用。没有错误发生。然而,如果
非常感谢 .NET标准库框架由.NET核心类库使用,但不由.NET核心应用程序使用 因此,您的类库有一个project.json,如下所示:
{
"version": "1.0.0-*",
"dependencies": {
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
}
}
}
要将此类库引用到.NET核心应用程序中,您必须添加依赖项,并使用默认导入,它将正常工作:
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.1",
"Microsoft.AspNetCore.Routing": "1.0.1",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "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",
"ClassLibrary1": "1.0.0-*"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
},
对于这两个project.json文件,参考非常好,如果我在类库中添加一个静态类,如:
public static class Class2
{
public static void Test()
{
}
}
我可以在web应用程序控制器中调用此方法,如:
[HttpGet]
public void TestStaticCall()
{
ClassLibrary1.Class2.Test();
}
.NET标准库框架由.NET核心类库使用,但不由.NET核心应用程序使用 因此,您的类库有一个project.json,如下所示:
{
"version": "1.0.0-*",
"dependencies": {
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
}
}
}
要将此类库引用到.NET核心应用程序中,您必须添加依赖项,并使用默认导入,它将正常工作:
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.1",
"Microsoft.AspNetCore.Routing": "1.0.1",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "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",
"ClassLibrary1": "1.0.0-*"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
},
对于这两个project.json文件,参考非常好,如果我在类库中添加一个静态类,如:
public static class Class2
{
public static void Test()
{
}
}
我可以在web应用程序控制器中调用此方法,如:
[HttpGet]
public void TestStaticCall()
{
ClassLibrary1.Class2.Test();
}
我终于在这篇文章中解决了这个问题:。更新Resharper确实有帮助!谢谢大家 我终于在这篇文章中解决了这个问题:。更新Resharper确实有帮助!谢谢大家 您是否尝试将netcoreapp1.0和netstandard1.6添加到AAA项目中?你能在你的问题中加些代码吗?像project.json和您的static class.Mitch一样,我将netcoreapp1.0和netstandard1.6都添加到类库项目的json文件中,这是相同的。Adrien,我的2个project.json文件与您在下面发布的文件相同。实际上,对于ASP webApi项目中的依赖项,只要添加类库作为引用,project.json文件似乎会自动更新?您是否尝试在AAA项目中同时添加netcoreapp1.0和netstandard1.6?你能在你的问题中加些代码吗?像project.json和您的static class.Mitch一样,我将netcoreapp1.0和netstandard1.6都添加到类库项目的json文件中,这是相同的。Adrien,我的2个project.json文件与您在下面发布的文件相同。实际上,对于ASP webApi项目中的依赖项,只要您添加类库作为引用,project.json文件似乎会自动更新?我的类库项目json文件和webApi项目json与您的帖子完全相同。但仍然无法在主webapi类中找到该静态类(或命名空间)。我的类库项目Json文件和webapi项目Json与您的帖子完全相同。但仍然无法在主webapi类中找到该静态类(或命名空间)。