1

Wenn ich meine ASP.NET Core (v1.0.0) MVC 6-App veröffentliche, kann sie beim Anzeigen einer Seite nicht erfolgreich ausgeführt werden (dh der Server/Host startet ordnungsgemäß, aber gibt einen Fehler aus, wenn eine GET-Anfrage gestellt wird). Wenn ich die App an der Eingabeaufforderung starte, kann ich sehen, dass sie sich über eine fehlende DLL beschwert. Ich habe die fehlende DLL zu dem veröffentlichten Verzeichnis hinzugefügt (wo die App von IIS/Krestel gehostet wird) und dann beschwerte sie sich über eine andere DLL und dann noch eine und so weiter. Letztlich brauchte es die die folgenden DLL vor allem erfolgreich ausgeführt wird:Fehlende DLLs beim Veröffentlichen der ASP.NET Core-Webanwendung

Microsoft.DotNet.Cli.Utils.dll 
Microsoft.DotNet.ProjectModel.dll 
Microsoft.Extensions.CommandLineUtils.dll 
NuGet.Common.dll 
NuGet.Configuration.dll 
NuGet.DependencyResolver.Core.dll 
NuGet.Frameworks.dll 
NuGet.LibraryModel.dll 
NuGet.Packaging.Core.dll 
NuGet.Packaging.Core.Types.dll 
NuGet.Packaging.dll 
NuGet.ProjectModel.dll 
NuGet.Protocol.Core.Types.dll 
NuGet.Protocol.Core.v3.dll 
NuGet.Repositories.dll 
NuGet.RuntimeModel.dll 
NuGet.Versioning.dll 

Ich bin nicht sicher, warum die NuGet DLL für einen veröffentlichten Web-App erforderlich sind oder warum dies überhaupt geschieht. Offensichtlich sollte sich Visual Studio um solche Dinge kümmern. Für jetzt, wenn ich veröffentliche, habe ich nicht alle Dateien zuerst klar (so die DLLs, die ich manuell kopiert bleibe dort), aber ich würde gerne wissen, warum, wenn diese DLLs benötigt werden, sind sie nicht als Teil des Bereitstellungsprozesses enthalten?

Hier ist meine project.json, falls das hilft:

{ 
    "dependencies": { 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0", 
    "Microsoft.AspNetCore.Mvc": "1.0.0", 
    "Microsoft.AspNetCore.Razor.Tools": { 
     "version": "1.0.0-preview2-final", 
     "type": "build" 
    }, 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.0", 
    "Microsoft.AspNetCore.Session": "1.0.0", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0", 
    "Microsoft.Extensions.Logging": "1.0.0", 
    "Microsoft.Extensions.Logging.Console": "1.0.0", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0", 
    "Serilog.Extensions.Logging": "1.2.0", 
    "Serilog.Sinks.File": "2.2.0", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0", 
    "System.Data.Common": "4.1.0", 
    "System.Data.SqlClient": "4.1.0", 
    "System.DirectoryServices.Linq": "1.2.2.1", 
    "Microsoft.Extensions.Logging.Filter": "1.0.0", 
    "BundlerMinifier.Core": "2.2.281" 
    }, 

    "tools": { 
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final", 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" 
    }, 

    "frameworks": { 
    "net462": {} 
    }, 

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

    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "Views", 
     "appsettings.json", 
     "web.config" 
    ] 
    }, 

    "scripts": { 
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ], 
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 
    }, 

    "configurations": { 
    "DEV": { 
     "compilationOptions": { "define": [ "DEV" ] }, 
     "buildOptions": { "define": [ "DEV" ] } 
    }, 
    "PROD_SRV": { 
     "compilationOptions": { "define": [ "TEST_SRV" ] }, 
     "buildOptions": { "define": [ "TEST_SRV" ] } 
    }, 
    "PROD_SRV_DEV": { 
     "compilationOptions": { "define": [ "TEST_SRV_DEV" ] }, 
     "buildOptions": { "define": [ "TEST_SRV_DEV" ] } 
    }, 
    "TEST": { 
     "compilationOptions": { "define": [ "TEST" ] }, 
     "buildOptions": { "define": [ "TEST" ] } 
    }, 
    "TEST_SRV": { 
     "compilationOptions": { "define": [ "TEST_SRV" ] }, 
     "buildOptions": { "define": [ "TEST_SRV" ] } 
    }, 
    "TEST_SRV_DEV": { 
     "compilationOptions": { "define": [ "TEST_SRV_DEV" ] }, 
     "buildOptions": { "define": [ "TEST_SRV_DEV" ] } 
    } 
    } 
} 

Irgendwelche Ideen?

Danke Jungs und Mädels!

Antwort

2

Nun, ich habe das Problem behoben. Ich habe ein neues ASP.NET Core (.NET Framework) Webanwendungsprojekt erstellt und konnte ohne Probleme veröffentlichen. Also habe ich die Werte in den project.json/global.json Dateien mit den Versionen in meinem Projekt verglichen. Ich habe alle Versionen auf die neueste Version in project.json aktualisiert, aber das hat es nicht behoben. Aber nachdem der Schlüssel "sdk: version" in global.json auf "1.0.0-preview2-003131" aktualisiert wurde, funktionierte es. Ich kann nicht glauben, dass das das Problem war, aber es hat funktioniert.

Nach vielen Kopfschmerzen war ich auch in der Lage, Web Deploy zu arbeiten. Zu viel Mühe, nur um zu veröffentlichen!

Verwandte Themen