J'essaie de déployer une application principale asp.net sur un serveur. J'ai fait les étapes suivantes.
la première chose à faire est d’abord, il s’agit d’un environnement Windows Server 2012 R2 qui est une toute nouvelle machine virtuelle.
Je reçois l’application de la console ouverte qui dit maintenant à l’écoute: http: // localhost: 5000 10. Je vais à http: // localhost: 5000 de Chrome sur cette machine et reçois un 404 non trouvé.
Je fais les étapes 7 8 9 et 10 sur la machine locale qui est Windows 10 je reçois mon application.
project.json
{
"dependencies": {
"AutoMapper": "5.1.1",
"EntityFramework": "6.1.3",
"Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
"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.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",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0"
},
"tools": {
"BundlerMinifier.Core": "2.0.238",
"Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
},
"frameworks": {
"net452": {
"dependencies": {
"DataAccess": {
"target": "project"
},
"Models": {
"target": "project"
}
}
}
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"appsettings.json",
"web.config"
]
},
"runtimes": {
"win10-x64": {},
"osx.10.11-64": {}
},
"scripts": {
"prepublish": [ "bower install", "dotnet bundle" ],
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
}
}
configure à partir de startup.cs
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
Mapper.Initialize(config =>
{
/*View Models*/
config.CreateMap<Permit, PermitViewModel>().ReverseMap();
config.CreateMap<PermitType, PermitTypeViewModel>().ReverseMap();
config.CreateMap<Property, PropertyViewModel>().ReverseMap();
config.CreateMap<Region, RegionViewModel>().ReverseMap();
config.CreateMap<State, StateViewModel>().ReverseMap();
config.CreateMap<User, UserViewModel>().ReverseMap();
/*Dtos*/
config.CreateMap<Permit, PermitDto>().ReverseMap();
config.CreateMap<Property, PropertyDto>().ReverseMap();
config.CreateMap<Region, RegionDto>().ReverseMap();
config.CreateMap<State, StateDto>().ReverseMap();
config.CreateMap<User, UserDto>().ReverseMap();
});
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
app.UseApplicationInsightsRequestTelemetry();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseApplicationInsightsExceptionTelemetry();
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
}
programme.cs
public static void Main(string[] args)
{
var Host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
Host.Run();
}
mon objectif est d’avoir cette course sur IIS.
UPDATE
Logiciel: Microsoft Internet Information Services 8.5
Version: 1.0
Date: 2016-12-06 23:49:44
Champs: date heure s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs (User-Agent) cs (Référant) sc-status sc-status
sc-win32-status time pris 2016-12-06 23:49:44 fe80 :: 9c6d: a91b: 42c: 82ea% 12 OPTIONS/- 80 - fe80 :: c510: a062: 136b: abe9% 12 DavClnt - 200 0 0 1139 2016-12-06 23:49:47 fe80 :: 9c6d: a91b: 42c: 82ea% 12 OPTIONS/site Web - 80 - fe80 :: c510: a062: 136b: abe9% 12 Microsoft-WebDAV-MiniRedir/10.0.14393 - 200 0 0 46 2016-12-06 23:49:47 fe80 :: 9c6d: a91b: 42c : 82ea% 12 PROPFIND /Website - 80 - fe80 :: c510: a062: 136b: abe9% 12 Microsoft-WebDAV-MiniRedir/10.0.14393 - 404 0 2 62 2016-12- 06 23:49:47 Fe80 :: 9c6d: a91b: 42c: 82ea% 12 PROPFIND/site Web - 80 - Fe80 :: c510: a062: 136b: abe9% 12 Microsoft-WebDAV- MiniRedir/10.0.14393 - 404 0 2 62
c'est le message du journal que je reçois
web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at http://go.Microsoft.com/fwlink/?LinkId=786380
-->
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
</system.webServer>
</configuration>
Veuillez cocher "platform": "anycpu"
dans la partie de la plateforme:
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
},
et
"buildOptions": {
"platform": "anycpu",
"emitEntryPoint": true,
"preserveCompilationContext": true
},
C’est un problème qui bénéficierait vraiment d’une documentation supplémentaire. C'est juste comment je le fais et je ne dis pas que c'est la seule façon.
1.Assurez-vous que l'hébergement dotnetcore est installé
2.Créez un pool d'applications qui cible "pas de code managé"
3.Créez un site Web utilisant ce pool d'applications (vous définissez ici votre adresse IP et votre port sur lesquels IIS écoutera)
4.Publiez un package de déploiement Web (Visual Studio) (qui vous donnera un dossier Zip)
5.Déplacer ce dossier Zip sur le serveur
6. Allez sur le site Web que vous avez créé et cliquez avec le bouton droit de la souris sur le site Web (assurez-vous que le site est arrêté)
7.Je ne me souviens pas de l'option exacte, mais cela ressemble à quelque chose de "Gérer le site Web". Vous devriez avoir un autre menu qui vous donne l'option d'importer.
8.Cliquez dessus et recherchez le dossier Zip. Vous pouvez configurer d’autres options.
9.Une fois terminé, redémarrez le site Web.
10.Vous devriez pouvoir accéder à votre application dans un navigateur à l'aide de l'adresse IP configurée pour le site Web dans IIS.
Si je ne me trompe pas, votre projet.json ne fait pas référence à asp.NET-core, mais au cadre complet:
"frameworks": {
"net452": {
"dependencies": {
"DataAccess": {
"target": "project"
},
"Models": {
"target": "project"
}
}
}
},
Je pense que vous manquez ce quelque part pour cibler le .NETCore :)
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
},