2015-10-06 18 views
6

Questo è appena iniziato di recente. Ho provato tutte le soluzioni che riesco a trovare su Stack e altri forum, ma finora non ha funzionato.L'ambiente di debug di Azure in VS2015 si arresta in modo anomalo all'avvio

Quando provo ad avviare il debug su un ruolo di lavoro Azure, questo è quanto ottengo:

enter image description here

La finestra Debug si legge: The program '[2208] WaIISHost.exe' has exited with code 0 (0x0).

Io corro Studios visivi in Modalità amministrativa, con il progetto corretto impostato come avvio e utilizzando IIS Express come server di sviluppo.

Ho provato a creare un nuovo ruolo di lavoro di Azure con lo stesso progetto sottostante ma non ha funzionato. I registri eventi di sistema non hanno alcuna informazione. Ho provato a reinstallare VS2015 e separatamente l'SDK di Azure (v.2.7.1), nessuna modifica. Quando osservo l'emulatore di calcolo, prima che scompaia che dice:

[fabric] Role Instance: deployment27(250).Web.0 
[fabric] Role state Unhealthy 
[fabric] Role state Stopped 

io sono comunque in grado di avviare altri progetti di ruolo di lavoro nella soluzione, il che mi porta a credere che qualcosa deve essere ottenuto corrotto nel progetto legato alla il ruolo del lavoratore distrutto in qualche modo. Sono a corto di idee in questa fase, quindi ogni aiuto è molto apprezzato.

UPDATE

Guardando il file WallSHost.log dentro C:\Users\<UserAccount>\AppData\Local\dftmp\Resources\<GUID>\directory\DiagnosticStore mi dà un errore Invalid name:

WaIISHost Information: 0 : [00003568:00000001, 2015-10-06 20:02:05.472, INFO ] Attempt Deploy with RoleInstanceId=deployment27(252).Web_IN_0 RoleRoot=C:\Web\csx\Debug\roles\Web\ optional SitesDestination= 
WaIISHost Information: 0 : [00003568:00000001, 2015-10-06 20:02:08.153, ERROR] Exception:System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: Invalid name. 
Parameter name: name (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is: 
System.ArgumentException: Invalid name. 
Parameter name: name 
    at System.Security.AccessControl.NativeObjectSecurity.CreateInternal(ResourceType resourceType, Boolean isContainer, String name, SafeHandle handle, AccessControlSections includeSections, Boolean createByName, ExceptionFromErrorCode exceptionFromErrorCode, Object exceptionContext) 
    at System.Security.AccessControl.FileSystemSecurity..ctor(Boolean isContainer, String name, AccessControlSections includeSections, Boolean isDirectory) 
    at System.Security.AccessControl.DirectorySecurity..ctor(String name, AccessControlSections includeSections) 
    at System.IO.DirectoryInfo.GetAccessControl(AccessControlSections includeSections) 
    at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.FileManager.AddAllowAceIterative(DirectoryInfo dir, FileSystemRights rights, IdentityReference[] accounts) 
    at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurato...). 


WaIISHost Information: 0 : [00003568:00000001, 2015-10-06 20:02:08.157, ERROR] Exception:System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: Invalid name. 
Parameter name: name (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is: 
System.ArgumentException: Invalid name. 
Parameter name: name 
    at System.Security.AccessControl.NativeObjectSecurity.CreateInternal(ResourceType resourceType, Boolean isContainer, String name, SafeHandle handle, AccessControlSections includeSections, Boolean createByName, ExceptionFromErrorCode exceptionFromErrorCode, Object exceptionContext) 
    at System.Security.AccessControl.FileSystemSecurity..ctor(Boolean isContainer, String name, AccessControlSections includeSections, Boolean isDirectory) 
    at System.Security.AccessControl.DirectorySecurity..ctor(String name, AccessControlSections includeSections) 
    at System.IO.DirectoryInfo.GetAccessControl(AccessControlSections includeSections) 
    at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.FileManager.AddAllowAceIterative(DirectoryInfo dir, FileSystemRights rights, IdentityReference[] accounts) 
    at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurato...). 
+0

Controllare i registri degli eventi. Potresti trovare alcune informazioni sul ruolo in crash qui. HTH. –

+1

I registri eventi di GauravMantri non dicono molto. Si prega di vedere sopra per un errore nel file 'WallSHost.log'. Grazie. – GFoley83

risposta

13

Dopo re-installazione di Visual Studio, l'Azure SDK, IIS e thralling attraverso i file di log, ho finalmente trovato il problema: la cartella node_modules nel progetto web che è associato al mio ruolo di lavoratore.

Subito dopo aver eliminato la cartella, il debug è iniziato immediatamente; anche se non fa parte della soluzione Visual Studios.

Da allora ho cercato per questo problema specifico su Stack e ho trovato questo post: https://stackoverflow.com/a/28188299/654708

Aggiunta rmdir /s /q "$(ProjectDir)node_modules\" al post-costruire eventi all'interno delle proprietà del progetto associato con il ruolo di lavoratore, cancellerà il node_modules cartella precedente all'avvio del debugger di Azure. Non è una soluzione perfetta, ma lo farà fino a quando questo ridicolo problema con Windows non è in grado di gestire nomi di file lunghi è stato risolto.

enter image description here

UPDATE

appena trovato una soluzione migliore. Aggiornare npm a> = 3.x utilizzando il modulo npm-windows-upgrade dal team di sviluppo di Microsoft qui:

https://www.npmjs.com/package/npm-windows-upgrade

In npm 3.x, i moduli nella cartella node_modules vengono memorizzati in una struttura piatta. Ciò dovrebbe aiutare a evitare il limite di 256 caratteri sui percorsi che causa il crash del debugger di Azure (a condizione che il percorso alla root della soluzione non sia già troppo lungo).

Per impostazione predefinita durante l'installazione del nodo su Windows, la versione 2 npm viene pre-raggruppata (a partire dall'8 settembre 2015). L'utilizzo del normale comando di aggiornamento npmnpm -g install [email protected]<version> non funzionerà in quanto il Nodo guarderà sempre alla versione di npm fornita con l'installazione; che è dove

Aprire Windows PowerShell con diritti di amministratore ed eseguire le seguenti operazioni per scegliere la versione di npm che si desidera installare.

  1. Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
  2. npm install -g npm-windows-upgrade
  3. npm-windows-upgrade

enter image description here

Letture addizionali:

https://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windows https://github.com/npm/npm/issues/3697#issuecomment-114665926

+1

Hai salvato il mio bacon con il limite di caratteri, amico. - Vorrei che Microsoft si limitasse a risolvere questo problema di 260 caratteri. È da pazzi. – BrainSlugs83

+0

grazie. Non sono sicuro di come l'hai capito, ma la mia testa si sente meglio ora che ho smesso di sbatterla contro un muro. – Ryan

Problemi correlati