2014-09-16 14 views
11

Dopo aver installato Microsoft.SqlServer.Types (Spatial) pacchetto, ottengo errori di generazioneImpossibile copiare i file Microsoft.SqlServer.Types

  • Errore 14 Impossibile copiare "MyApp \ pacchetti \ Microsoft.SqlServer.Types.11.0.1 \ nativeBinaries \ x86 \ msvcr100.dll "in" bin \ SqlServerTypes \ x86 \ msvcr100.dll ". Conteggio tentativi superato di 10. Non riuscito.
  • Errore 26 Impossibile copiare "myapp \ packages \ Microsoft.SqlServer.Types.11.0.1 \ nativeBinaries \ x86 \ SqlServerSpatial110.dll" su "bin \ SqlServerTypes \ x86 \ SqlServerSpatial110.dll". Conteggio tentativi superato di 10. Non riuscito.
  • Errore 15 Impossibile copiare il file "myapp \ Microsoft.SqlServer.Types.11.0.1 \ nativeBinaries \ x86 \ msvcr100.dll" in "bin \ SqlServerTypes \ x86 \ msvcr100.dll". Il processo non può accedere al file "bin \ SqlServerTypes \ x86 \ msvcr100.dll" perché è utilizzato da un altro processo.
  • Errore 27 Impossibile copiare il file "myapp \ packages \ Microsoft.SqlServer.Types.11.0.1 \ nativeBinaries \ x86 \ SqlServerSpatial110.dll" su "bin \ SqlServerTypes \ x86 \ SqlServerSpatial110.dll". Il processo non può accedere al file "bin \ SqlServerTypes \ x86 \ SqlServerSpatial110.dll" perché è utilizzato da un altro processo.

Dopo l'indagine, ho rilevato che il processo di lavoro di iis blocca questi file. Dopo il riavvio, l'applicazione viene completata correttamente, ma vengono visualizzati degli errori.

Come posso risolvere questo problema ???

+0

Ho riscontrato anche questo problema. Hai trovato una soluzione? – Gus

+0

No, non riesco a trovare la soluzione – cosset

+0

In questo momento se chiudo VS e lo riaplo e Pulisco la soluzione, si costruisce bene ... ma a questo ritmo finirò il debug il prossimo anno ... – Gus

risposta

0

Ho riscontrato questo problema e mi sono imbattuto in una soluzione decente. Nel mio caso, avevo due progetti che venivano avviati ed eseguiti all'interno di IIS Express ogni volta che ho iniziato a eseguire il debug in VS 2013, anche se avevo selezionato un solo progetto di avvio all'interno di Solution Explorer. Ho notato che ogni volta che interrompevo il debug, solo una delle mie app all'interno di IIS Express veniva chiusa, mentre l'altra continuava a funzionare. Un successivo clean/build mostrerebbe l'errore che stai incontrando per l'app che non è terminata. Risulta che è possibile selezionare più progetti di avvio in VS, che dirà a IIS Express di avviarli entrambi all'avvio del debug (cosa stranamente già avvenuta nel mio caso, anche se ho selezionato solo un progetto di avvio) e dirò anche a IIS Esprimere per terminare entrambe le applicazioni quando si arresta il debug. Quando tutte le applicazioni all'interno di IIS Express sono terminate, sono in grado di pulire/compilare correttamente senza ottenere questo errore. Le istruzioni su come impostare più progetti di avvio possono essere trovate qui: http://msdn.microsoft.com/en-us/library/ms165413.aspx

3

Ho trovato una soluzione naturale per questo.

Ho appena interrotto IIS prima che inizi la compilazione e quindi riavvii IIS dopo la compilazione.

Nel progetto andare a Proprietà> eventi di generazione:

  • pre-compilazione di comando evento riga: iisreset/stop

  • post-generazione di comando evento riga: iisreset/start

2

Sembra che quando si disinstalla il pacchetto NuGet, i riferimenti nel csproj non vengano cancellati. Inoltre, ho trovato alcuni riferimenti a quelle DLL in un file relativo a Git chiamato ms-persist.xml, ma probabilmente non era questo il problema. Quindi, dopo aver eliminato tutto ciò, la build ha funzionato.

0

È possibile riciclare & riavviare il pool di applicazioni che ha bloccato i file menzionati come parte del processo di distribuzione. Il riciclo del pool di applicazioni sblocca i file e puoi sovrascriverli.

Per la distribuzione locale, è possibile specificare un evento di pre-compilazione (DefaultAppPool è il nome del pool di applicazioni):

c:\Windows\system32\inetsrv\appcmd.exe recycle apppool "DefaultAppPool" 

Per la distribuzione automatica si può dire msdeploy per riavviare (ad esempio dal server di build.) pool di applicazioni come parte del processo di distribuzione:

msdeploy.exe -verb:sync -source:recycleApp="Default Web Site/myapp" -dest:auto 

Per ulteriori informazioni, vedere Web Deploy recycleApp fornitore documentation.

Problemi correlati