C# 如何让VS使用ASP.NET核心的本地版本?
我克隆了dotnet/aspnetcore,切换到C# 如何让VS使用ASP.NET核心的本地版本?,c#,asp.net-core,asp.net-core-3.1,C#,Asp.net Core,Asp.net Core 3.1,我克隆了dotnet/aspnetcore,切换到release/3.1分支,并按照中的所有步骤构建并安装了ASP.NET Core 3.1.10的本地版本。我正在使用repo根目录中的startvs.cmd来运行我自己的VS解决方案,其中包含一个ASP.NET核心项目。当我构建并运行我的ASP.NET Core 3.1 sln并检查Debug>Modules窗口时,我可以看到本地构建的3.1.10 DLL确实正在加载-一切正常 但是,如果我检查我的ASP.NET核心项目的引用框架(项目>依赖项
release/3.1
分支,并按照中的所有步骤构建并安装了ASP.NET Core 3.1.10的本地版本。我正在使用repo根目录中的startvs.cmd
来运行我自己的VS解决方案,其中包含一个ASP.NET核心项目。当我构建并运行我的ASP.NET Core 3.1 sln并检查Debug>Modules窗口时,我可以看到本地构建的3.1.10 DLL确实正在加载-一切正常
但是,如果我检查我的ASP.NET核心项目的引用框架(项目>依赖项>框架),我会看到以下内容:
:路径Microsoft.AspNetCore.App
,版本3.1.8C:\Users\iank.nuget\packages\Microsoft.AspNetCore.App.ref\3.1.8
:路径Microsoft.NETCore.App
,版本3.1.0C:\aspnetcore.dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0
Microsoft.NETCore.App
看起来是正确的,但我预计Microsoft.AspNetCore.App
将使用C:\AspNetCore\.dotnet\packs\Microsoft.AspNetCore.App.Ref\3.1.10
(已存在)-情况并非如此。最终的结果是,VS不是针对我本地的3.1.10版本进行构建,而是针对3.1.8版本进行构建,这不是我想要的
如何使用3.1.10 ASP.NET核心DLL创建VS build?是否必须定义指向我的3.1.10 DLL的新的/唯一的
FrameworkReference
?项目属性目标网络版本是什么?目标框架是.NET Core 3.1。但我认为这与ASP.NET Core无关,它在project.csproj
中使用了Microsoft.NET.SDK.Web
的伪SDK,据我所知,该SDK解析为Microsoft.AspNetCore.App
,在本例中,错误的版本。从Net 4.7.2开始,您应该具有针对Net或Core的功能。对于仍在寻找答案的任何人,正确的方法是使用KnownFrameworkReference
覆盖,如中所述