Program nie zawiera metody Main po dodaniu odwołania.

0

Cześć,
mam problem techniczny i nie mogę znaleźć dobrej odpowiedzi.
Gdy stworzę pusty projekt webApi w asp.net core bez problemu mogę uruchomić program z lokalnym hostem i przykładowym wygenerowanym kontrolerem. Po dodaniu odwołania do innego projektu z biblioteką klas wyskakuje błąd CS5001 (Program nie zawiera statycznej metody "Main" odpowiedniej jako punkt wejścia).

program.cs

public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                })
     }

api.csproj

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

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

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

Po ręcznym usunięciu referencji w api.csproj nadal występuje błąd. Nie mam doświadczenia w budowaniu projektów i już nie mam pomysłu czemu tak się dzieje, więc proszę o pomoc.

0

Ten kod z Program.cs jest z projektu, który podpinasz jako referencja, czy z projektu "głównego"?

0

"Głównego" webapi, który powinien się uruchomić. Oprócz tego projektu webapi, inne projekty są bibliotekami klas i do webapi chciałem dodać odwołanie do jednej z nich

0

Tak kopiujesz, czy faktycznie brakuje ci średnika na końcu tego bloku

.ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                }); //średnik tutaj 

Stworzyłem nowy projekt, skopiowałem twój kod do Program.cs i miałem błąd tylko ze średnikiem.

0

Mój błąd, wybacz. Skopiowałem bez średnika o klamry i tylko klamrę dopisałem :/ Klasa Program.cs i Startup.cs jest jeszcze nieruszana i kod wygenerował visual. W załączniku dodałem podgląd na visuala, Passenger.Api ustawiony jako startowy projekt

1

Wejdź we właściwości projektu Passenger.Infrastructure i sprawdź czy to na pewno jest Class Library
Output type

0

I była aplikacja konsolowa, a jestem pewny że nie wygenerowało klasy program.cs z hello world. Tak czy inaczej chylę czoła przed doświadczeniem, bo szukałem rozwiązania i nie wpadłem na to. Wielkie dzięki, od razu lepszy humor^^

1 użytkowników online, w tym zalogowanych: 0, gości: 1