.Net Core-使用框架ne​​tcoreapp2.2

时间:2019-03-14 14:12:31

标签: c# .net-core asp.net-core-mvc asp.net-core-2.0 asp.net-core-2.1

我有一个名为Test.Web的核心项目,其csproj内容如下:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\TestWeb.Infrastructure\TestWeb.Infrastructure.csproj" />
  </ItemGroup>

</Project>

它引用了一个名为TestWeb.Infrastructure的外部程序集,其csproj内容如下:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>
</Project>

好的,TestWeb.InfrastructureTestController中有一个get操作,如下所示:

using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

namespace TestWeb.Infrastructure.Controllers
{
    public class TestController : Controller
    {
        [HttpGet]
        public async Task<IActionResult> Fire()
        {
            return Content("Hello!!!!!");
        }
    }
}

然后我开始运行Test.Web项目并请求https://localhost:5001/Test/Fire,响应给了我404找不到...,所以我 将Version="2.2.0"添加到Microsoft.AspNetCore.App中TestWeb.Infrastructure部分的ItemGroup csproj文件中,如下所示

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.0"/>
  </ItemGroup>
</Project>

并再次运行该站点以请求https://localhost:5001/Test/Fire,它给了我内容Hello!!!!!,但是当我将Version更改为另一个版本时,例如2.2.1、2.2.2、2.2.3等。构建时会抛出其他错误(NU1605)。

我的问题是为什么仅在将版本号设置为2.2.0时才能成功执行?我用过的.net核心sdk是2.2.105

我在此处进行演示:https://github.com/linmasaki/TestWeb/tree/master

0 个答案:

没有答案