【发布时间】:2022-01-21 04:35:36
【问题描述】:
所以我确定我在这里遗漏了一些非常明显的东西,但我似乎无法确定它。
我有一个 .NET 6 类库:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Authorization" Version="6.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
</ItemGroup>
</Project>
我的库中有一个构建器正在尝试注册AddAuthorization 服务,但由于某种原因无法解决:
namespace MyLib;
using Microsoft.AspNetCore.Authorization;
using Microsoft.Extensions.DependencyInjection;
public class MyLibBuilder
{
public IServiceCollection Services { get; }
public MyLibBuilder(IServiceCollection services)
{
Services = services;
}
public MyLibBuilder MapAuthorizationPolicies()
{
Services.AddAuthorization();
return this;
}
}
我已经:
- 三重检查我安装了
Microsoft.Extensions.DependencyInjection和Microsoft.AspNetCore.Authorization - 重建解决方案
- 卸载并重新加载项目
而且没有任何骰子。我敢肯定,一旦我离开一天,它就会立即点击,但这真的很困扰我????我到底错过了什么?
注意:如果我将其更改为
Microsoft.NET.Sdk.Web项目,它将解决,但是我需要一个Main来运行,这在这里没有实际意义,因为这只是一个类库。Web必须做一些我错过但我没有看到的其他事情......
【问题讨论】:
-
您的命名空间中是否有“授权”?
-
不。尝试更改命名空间以防万一。没有快乐
-
哇,是的,谢谢!不过很奇怪。我也尝试过使用
...Policy包,即使它也不起作用——必须使用Core。不管怎样,是的,这很奇怪,但可以解决。非常感谢! -
也很奇怪,我一直在使用,甚至现在仍然可以在没有
Core或使用Policy包的 Web 项目中使用AddAuthorization。仍然很困惑,但很高兴让它工作
标签: c# dependency-injection authorization