2016-12-15 2 views
4

Ich versuche mein Asp.Net WebApi Projekt, basierend auf dem Onion Architecture Design-Ansatz, auf Asp.Net Core zu portieren. Allerdings, wenn ich meine Klassenbibliotheken bauen, der Compiler sucht nach der statischen Methode Main in Program.cs und ich erhalte:Asp.Net Core: Programm enthält keine statische 'Main'-Methode für einen Einstiegspunkt

C: \ Projects \ Einige \ src \ Some.Core \ Fehler CS5001: Programm enthält keine eine statische ‚Main‘ Methode geeignet für einen Einstiegspunkt

ich davon aus bin, dass es nur ein Program.cs/Einstiegspunkt für die Gesamtlösung sein, und das Innere meines WebAPI Projektes sitzt . Bin ich falsch? Wie kann ich diesen Fehler beheben? Ich nahm fälschlicherweise an, dass "emitEntryPoint": true diesem Zweck diente. Hier

ist ein Beispiel für meine Klassenbibliothek project.json:

{ 
    "version": "1.0.0-*", 
    "description": "Some.Core Class Library", 
    "buildOptions": { 
    "emitEntryPoint": true 
    }, 
    "dependencies": { 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0", 
    "Microsoft.AspNetCore.Authentication.JwtBearer": "1.0.0", 
    "Microsoft.AspNetCore.Mvc": "1.0.0", 
    "Microsoft.AspNetCore.Routing": "1.0.0", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", 
    "Microsoft.AspNetCore.Identity": "1.0.0", 
    "Microsoft.Extensions.Configuration": "1.0.0", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0", 
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0", 
    "Microsoft.Extensions.Logging": "1.0.0", 
    "Microsoft.Extensions.Logging.Console": "1.0.0", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0", 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0" 
    }, 

    "frameworks": { 
    "netstandard1.6": { 
     "dependencies": { 
     "NETStandard.Library": "1.6.0" 
     } 
    } 
    }, 
    "runtimes": { 
    "win7-x64": {} 
    } 
} 

Vorschläge geschätzt.

Antwort

7

Um den Fehler von „Programm enthält nicht eine statische‚Main‘Methode geeignet für einen Einstiegspunkt“ in Klassenbibliothek entfernen emitEntryPoint von buildOptions-

"buildOptions": { 
    "emitEntryPoint": true 
    }, 

emitEntryPoint teilt den Compiler zu vermeiden, ob eine erstellen Konsolenanwendung oder eine Bibliothek. Weitere Informationen finden Sie unter post

Verwandte Themen