简体   繁体   中英

How to fix build error on ASP.NET Core + ServiceStack?

I have a problem when creating a new web service using ServiceStack I have installed:

  • X tool
  • ServiceStack VS Extension
  • NPM
  • .NET 6.0 SDK

However If I try to create a new project, this will come up and create it.


C:\Users\noliveros\Desktop>x new web Pizza
Installing web...
INFO: Could not find files for the given pattern(s).
running dotnet restore...
  Determining projects to restore...
  Restored C:\Users\noliveros\Desktop\Pizza\Pizza.ServiceInterface\Pizza.Service
Interface.csproj (in 2.71 sec).
  Restored C:\Users\noliveros\Desktop\Pizza\Pizza\Pizza.csproj (in 2.71 sec).
  Restored C:\Users\noliveros\Desktop\Pizza\Pizza.ServiceModel\Pizza.ServiceMode
l.csproj (in 2.69 sec).
  Restored C:\Users\noliveros\Desktop\Pizza\Pizza.Tests\Pizza.Tests.csproj (in 2
.77 sec).


running npm install...

up to date, audited 1 package in 963ms

found 0 vulnerabilities



Pizza web project created.

and If I try to build it on Visual Studio, it has an error and will not build.

Build started...
1>------ Build started: Project: Pizza.ServiceModel, Configuration: Debug Any CPU ------
1>C:\Program Files\dotnet\sdk\6.0.201\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.targets(134,5): warning NETSDK1182: Targeting .NET 6.0 in Visual Studio 2019 is not supported.
1>CSC : warning CS8032: An instance of analyzer System.Text.Json.SourceGeneration.JsonSourceGenerator cannot be created from C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.3\analyzers\dotnet\cs\System.Text.Json.SourceGeneration.dll : Could not load file or assembly 'Microsoft.CodeAnalysis, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified..
1>C:\Users\noliveros\Desktop\Pizza\Pizza.ServiceModel\Hello.cs(3,29,3,30): error CS1514: { expected
1>C:\Users\noliveros\Desktop\Pizza\Pizza.ServiceModel\Hello.cs(15,2,15,2): error CS1513: } expected
1>Done building project "Pizza.ServiceModel.csproj" -- FAILED.
2>------ Build started: Project: Pizza.ServiceInterface, Configuration: Debug Any CPU ------
2>C:\Program Files\dotnet\sdk\6.0.201\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.targets(134,5): warning NETSDK1182: Targeting .NET 6.0 in Visual Studio 2019 is not supported.
2>CSC : error CS0006: Metadata file 'C:\Users\noliveros\Desktop\Pizza\Pizza.ServiceModel\bin\Debug\net6.0\ref\Pizza.ServiceModel.dll' could not be found
2>Done building project "Pizza.ServiceInterface.csproj" -- FAILED.
3>------ Build started: Project: Pizza, Configuration: Debug Any CPU ------
3>C:\Program Files\dotnet\sdk\6.0.201\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.targets(134,5): warning NETSDK1182: Targeting .NET 6.0 in Visual Studio 2019 is not supported.
3>C:\Program Files\dotnet\sdk\6.0.201\Sdks\Microsoft.NET.Sdk.Razor\targets\Microsoft.NET.Sdk.Razor.MvcApplicationPartsDiscovery.targets(54,5): warning RAZORSDK1007: Reference assembly C:\Users\noliveros\Desktop\Pizza\Pizza.ServiceInterface\bin\Debug\net6.0\Pizza.ServiceInterface.dll could not be found. This is typically caused by build errors in referenced projects.
3>CSC : error CS0006: Metadata file 'C:\Users\noliveros\Desktop\Pizza\Pizza.ServiceInterface\bin\Debug\net6.0\ref\Pizza.ServiceInterface.dll' could not be found
3>CSC : error CS0006: Metadata file 'C:\Users\noliveros\Desktop\Pizza\Pizza.ServiceModel\bin\Debug\net6.0\ref\Pizza.ServiceModel.dll' could not be found
3>Done building project "Pizza.csproj" -- FAILED.
========== Build: 0 succeeded, 3 failed, 0 up-to-date, 0 skipped ==========

Also tried fixing this error by proper wrapping class code to namespace but still build failed.

1>C:\Users\noliveros\Desktop\Pizza\Pizza.ServiceModel\Hello.cs(3,29,3,30): error CS1514: { expected
1>C:\Users\noliveros\Desktop\Pizza\Pizza.ServiceModel\Hello.cs(15,2,15,2): error CS1513: } expected

This is my generated csproj file

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

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>
  <ItemGroup>
    <Using Include="Pizza" />
    <Using Include="ServiceStack" />
  </ItemGroup>

  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="ServiceStack" Version="6.*" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\Pizza.ServiceInterface\Pizza.ServiceInterface.csproj" />
    <ProjectReference Include="..\Pizza.ServiceModel\Pizza.ServiceModel.csproj" />
  </ItemGroup>

</Project>

From your output:

Targeting .NET 6.0 in Visual Studio 2019 is not supported

You will need Visual Studio 2022 when working with .NET 6. More info about compatibility can be found in the Microsoft Docs .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM