2015-12-12 15 views
7

sto lavorando attraverso il corso di Shawn Wildermuth here e ottengo il seguente avvertimento circa il web.config quando costruireL'elemento 'system.webServer' ha valida elemento figlio 'httpPlatform'

Severity Code Description Project File  
Line 
Warning  The element 'system.webServer' has invalid child element 'httpPlatform'. 
List of possible elements expected: 'asp, caching, cgi, defaultDocument, 
directoryBrowse, globalModules, handlers, httpCompression, webSocket, 
httpErrors, httpLogging, httpProtocol, httpRedirect, httpTracing, 
isapiFilters, modules, applicationInitialization, odbcLogging, security, 
serverRuntime, serverSideInclude, staticContent, tracing, urlCompression, 
validation, management, rewrite'. 
TheWorld E:\EShared\Pluralsight\aspdotnet-5-ef7-bootstrap-angular-web-app\1-aspdotnet-5-ef7-bootstrap-angular-web-app-m1-exercise-files\VS2015\src\TheWorld\wwwroot\web.config 8 

web.config è

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
    <handlers> 
     <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/> 
    </handlers> 

    <httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/> 

    </system.webServer> 
</configuration> 

Il programma funziona correttamente. Dovrei fare qualcosa per l'avviso?

+0

Questo è un [problema noto] (https://connect.microsoft.com/VisualStudio/Feedback/Details/1906736) e se non si tratta di uno stopper, lo ignorerei. – ourmandave

risposta

1

In primo luogo, questo corso è piuttosto vecchio ora (RC2 sta arrivando), quindi dovresti rinunciarci, e aspettare di vedere se un nuovo corso sta arrivando.

[Aggiornamento: Per RC2 e, soprattutto, un nuovo modulo è necessario, invece di HttpPlatformHandler, https://github.com/aspnet/Announcements/issues/164]

+0

Ho scaricato HttpPlatformHandler_1.exe ma quando eseguo il programma di installazione di Web Platform 5.0 viene visualizzato un messaggio che "Microsoft Web Platform Installer non è riuscito a trovare il prodotto che si è tentato di installare. O il collegamento su cui si è fatto clic non è corretto oppure è possibile ignorare il feed con un altro feed " –

+0

I link per il download di MSI sono in fondo, https://www.iis.net/downloads/microsoft/httpplatformhandler –

+0

Ho eseguito l'MSI ma l'errore appare ancora. –

7

Fino al momento la corrente è scritto (gen-2016) si tratta di un problema noto che la SM non ha risolvere. Probabilmente verrà risolto in una versione/aggiornamento successiva.

Il problema è che l'elemento httpPlatform non è presente:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Xml\Schemas\1033\DotNetConfig.xsd 

È possibile manualy modificare il XSD con un editor aventi diritto Amministrativo e aggiungere questo sotto la system.webServer:

<xs:element name="httpPlatform" vs:help="configuration/system.webServer/httpPlatform"> 
     <xs:complexType> 
     <xs:attribute name="arguments" type="xs:string" use="optional" vs:help="configuration/system.webServer/httpPlatform/arguments" /> 
     <xs:attribute name="processPath" type="xs:string" use="required" vs:help="configuration/system.webServer/httpPlatform/processPath" /> 
     <xs:attribute name="startupTimeLimit" use="required" vs:help="configuration/system.webServer/httpPlatform/startupTimeLimit"> 
      <xs:simpleType> 
      <xs:restriction base="xs:int"> 
       <xs:minInclusive value="1" /> 
       <xs:maxInclusive value="99999" /> 
      </xs:restriction> 
      </xs:simpleType> 
     </xs:attribute> 
     <xs:attribute name="stdoutLogEnabled" type="small_boolean_Type" use="required" vs:help="configuration/system.webServer/httpPlatform/stdoutLogEnabled" /> 
     <xs:attribute name="stdoutLogFile" type="xs:string" vs:help="configuration/system.webServer/httpPlatform/stdoutLogFile" /> 
     <xs:anyAttribute namespace="http://schemas.microsoft.com/XML-Document-Transform" processContents="strict" /> 
     </xs:complexType> 
    </xs:element> 

Questo ha risolto il problema per me.

AGGIORNAMENTO: è possibile trovare un post simile here. Ho avuto l'idea originale lì, ma ho modificato lo schema un po '.

UPDATE2: un suggerimento per trovare il posto per aggiungere l'elemento è quello di individuare <xs:element name="handlers" vs:help="configuration/system.webServer/handlers"> e posizionarla appena sopra di esso.

+1

Aggiungilo sopra questa riga

+1

Dzivo, non deve essere esattamente sopra l'elemento: handler, purché sia ​​all'interno elemento: system.webServer! Ma, OK, è un buon suggerimento, per aiutare a trovare il punto! Aggiorno la risposta ora .. Per favore, vinci se ha funzionato per te ;-) – cnom

+0

Non deve essere, ma è più facile per qualcuno che non sa dove metterlo –