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!