Home > ASP.NET, Azure, Developer, Technical post > Azure SDK 2.2 In Production: Could Not Load File Or Assembly ‘Msshrtmi’ Or One Of Its Dependencies.

Azure SDK 2.2 In Production: Could Not Load File Or Assembly ‘Msshrtmi’ Or One Of Its Dependencies.

Alle volte il nesso di causalità è veramente bizzarro.

In questo caso partiamo da un bicchiere di vino rosso per arrivare all’SDK di Azure, ma cosa collega queste due cose ?

Presto detto.

Prima dell’Epifania si è rovesciato un bicchiere di vino rosso sul mio portatile, il vino ha attraversato la tastiera per fuoriuscire da sotto, il notebook è andato in corto ed è deceduto.

Fortunatamente l’hard disk non ha subito danni quindi tutti i miei lavori erano recuperabili.

Ho rimpiazzato quel notebook con un nuovo ultrabook XPS della Dell e quale migliore occasione di questa potevo avere per installare i più recenti prodotti Microsoft compresi nel mio abbonamento MSDN ?

Detto, fatto: ho installato il nuovo Microsoft Office Professional Plus 2013 e il nuovo Visual Studio Premium 2013.

Appena installato Visual Studio 2013, ho recuperato i miei progetti dal vecchio disco e ho verificato la funzionalità di pubblicazione.

Tra questi progetti c’è n’è uno per Azure realizzato con Visual Studio 2012 e una versione precedente dell’SDK.

La pubblicazione diretta su Azure di questo Webrole va in errore. Why… pecchè?

Ovvio, manca l’SDK di Azure.

Bene, installiamo l’Azure SDK 2.2 per Visual Studio 2013 e riproviamo.

La compilazione va in errore di nuovo sul RoleEntryPoint e sull’Overrides della funzione OnStart in WebRole.vb.

Perchè?

Certo, non viene caricata la classe Microsoft.WindowsAzure.ServiceRuntime

error in publishing azure project created with old sdk version

Rapida ricerca su Google e decine di richieste per lo stesso problema su StackOverflow e su Windows-Azure.net ma tutte senza una soluzione semplice e lineare.

Strano, perchè in Visual Studio 2013 una soluzione semplice e lineare esiste: in Solution Explorer, click destro sul WebRole, scegliere Properties, a sinistra scegliere References, scorrere l’elenco dei riferimenti fino a trovare Microsoft.WindowsAzure.ServiceRuntime dove comparirà la versione vecchia e la scritta The system cannot find the file specified.

E’ sufficiente rimuovere il vecchio riferimento ed aggiungere il riferimento alla medesima Reference della nuova versione dell’SDK ossia la 2.2.

solution in publishing azure project created with old sdk version

La dll della nuova versione si trova esattamente in questa posizione C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\v2.2\bin\runtimes\base\x64\msshrtmi.dll.

Fatta questa banale operazione la pubblicazione torna a funziona correttamente.

Buon Windows Azure a tutti🙂

  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: