无法从 ASP.NET 核心项目中引用其他项目
Can't reference other projects from ASP.NET Core project
我有一个 .NETCoreApp 1.1 Web 应用程序,我添加了对其他一些同样以 .NETCoreApp 1.1 为目标的项目的引用。但由于某些原因,我无法在这些项目中使用 classes。当我使用 class 名称时,resharper/VS 不建议我导入正确的命名空间,并且当我手动键入 using 以获取正确的命名空间时,它无法被识别。我应该注意到,在 class 库之间我可以 link 到其他项目就好了,但是它在 ASP.NET 项目和 class 库之间崩溃了。我该怎么做?
这是我的网络应用程序的样子:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Folder Include="wwwroot\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
<PackageReference Include="WindowsAzure.Storage" Version="8.1.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Commands\Commands.csproj" />
</ItemGroup>
</Project>
以及参考项目之一:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
</Project>
这是我的代码:
using System;
using System.Threading.Tasks;
namespace Worker.Handlers
{
public class Test1CommandHandler : IHandler<Test1Command>
{
public Task HandleAsync(Test1Command message)
{
throw new NotImplementedException();
}
public Task HandlePoisonAsync(Test1Command message)
{
throw new NotImplementedException();
}
}
}
在 class 库中:
namespace Commands
{
public class Test1Command
{
public string Foo { get; set; }
public string Bar { get; set; }
}
}
将 using Commands;
添加到包含 Test1CommandHandler 的文件的顶部。这是必需的,因为 Test1Command 与 Test1CommandHandler 位于不同的命名空间中。
原来是 ReSharper 的问题。我暂时禁用了它,现在一切正常。很烦人。
另外:轻量级解决方案加载可能与它有关。尝试禁用它。
我有一个 .NETCoreApp 1.1 Web 应用程序,我添加了对其他一些同样以 .NETCoreApp 1.1 为目标的项目的引用。但由于某些原因,我无法在这些项目中使用 classes。当我使用 class 名称时,resharper/VS 不建议我导入正确的命名空间,并且当我手动键入 using 以获取正确的命名空间时,它无法被识别。我应该注意到,在 class 库之间我可以 link 到其他项目就好了,但是它在 ASP.NET 项目和 class 库之间崩溃了。我该怎么做?
这是我的网络应用程序的样子:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Folder Include="wwwroot\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
<PackageReference Include="WindowsAzure.Storage" Version="8.1.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Commands\Commands.csproj" />
</ItemGroup>
</Project>
以及参考项目之一:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
</Project>
这是我的代码:
using System;
using System.Threading.Tasks;
namespace Worker.Handlers
{
public class Test1CommandHandler : IHandler<Test1Command>
{
public Task HandleAsync(Test1Command message)
{
throw new NotImplementedException();
}
public Task HandlePoisonAsync(Test1Command message)
{
throw new NotImplementedException();
}
}
}
在 class 库中:
namespace Commands
{
public class Test1Command
{
public string Foo { get; set; }
public string Bar { get; set; }
}
}
将 using Commands;
添加到包含 Test1CommandHandler 的文件的顶部。这是必需的,因为 Test1Command 与 Test1CommandHandler 位于不同的命名空间中。
原来是 ReSharper 的问题。我暂时禁用了它,现在一切正常。很烦人。
另外:轻量级解决方案加载可能与它有关。尝试禁用它。