我们有一个内部构建的类库,它公开了一些HTTP客户端,专门用于授权其他请求(获取/刷新令牌等)。到目前为止,它一直被建造为
netstandard2.1
,并且我们能够毫无问题地保持依赖关系的最新状态。
我们最近将一个额外的身份验证客户端类型从一个消费应用程序移植到这个库中。现有的实现使客户端被
IAsyncActionFilter
实现,以便可以将其添加为方法的属性:
[AttributeUsage(AttributeTargets.Method)]
public class OpaAuthAttribute : TypeFilterAttribute
{
public OpaAuthAttribute(string permission) : base(typeof(OpaAuthActionFilter))
{
Arguments = new object[] { permission };
}
}
这是有效的,但与
网络标准2.1
TFM让我们依赖
Microsoft.AspNetCore.Mvc
v2.2.0版本。这真的不是一条很好的前进道路,因为该项目已经存档了4年,而且在发布时,它依赖于几个已知安全漏洞的库版本:
.
因此,我正在努力找出实现可升级的途径,这意味着要转向
net6.0
。我可以通过更改以下内容来获得所有依赖项:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
...
对此:
<Project Sdk="Microsoft.NET.Sdk.Web"> <!-- Changed -->
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework> <!-- Changed -->
...
但我仍然在构建输出中得到以下错误:
Program does not contain a static 'Main' method suitable for an entry point
是否可以创建一个使用最新版本ASP的类库。Net MVC SDK?我错过了什么?