Site web est en cours d'exécution en mémoire cache une dll en quelque sorte, après l'avoir modifié
La situation est que j'ai fait de corrections mineures à une classe, donc ils veulent juste de déployer la dll touchés. Ils ont arrêté de IIS, remplacement de la dll dans le dossier /bin du répertoire iis pour le site web avec la nouvelle, je leur ai donné, et a commencé à iis de nouveau. Il y a plusieurs serveurs, mais ils ont juste changé de sur un pour l'essayer. Ils sont toujours de voir la même erreur dans le journal des événements du serveur en question. En regardant la trace de la pile je peux dire c'est l'ancienne dll.
Ils ont vérifié le GAC et de ne pas le voir là.
J'ai vérifié le fichier dll avec réflecteur pour vérifier que je leur ai donné la bonne nouvelle dll.
C'est un asp.net 2.0 site web et le serveur 2003. Je ne suis pas sûr de savoir comment il a été déployé à l'origine, mais il a une copie de l'ancienne dll dans C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\NAME_services#################\assembly\dl3###################\ et dans D:\xxxx\Sites\NAME\Services\obj\Release. Pourrait-il être à l'aide de l'un de ces ou de la construction de l'ancien ou même juste de la mise en cache en mémoire?
C'est dans le code, je peux voir le correctif dans un diss de l'assemblée de la dll.
OriginalL'auteur dwidel | 2011-04-19
Vous devez vous connecter pour publier un commentaire.
Nuke temporaire asp.net le contenu du dossier. Je ne sais pas pourquoi la mise à jour n'est pas automatiquement compilé, bien.
parfois Asp.Net fait une gaffe et de ne pas copier les fichiers dans le Temporaire Asp.Net dossier de Fichiers. Il souffle loin veillera à ce qu'il décide lui-même.
Ne mettez JAMAIS votre source sur le serveur. @Andy est correct, cela se produit parfois. Heureusement, il est rare.
Il arrive assez souvent que vous pouvez aussi bien le nerf de votre dossier temp dans le cadre de votre script de sortie
OriginalL'auteur 3Dave
Nous avons eu le même problème mais avec de légères complications, nous avons de nombreux de nombreux sites donc un "effacement de tous les temp" et redémarrez IIS n'est pas une bonne option pour nous. Donc nous avons besoin d'être plus sélectif dans ce que de forcer un rafraîchissement sur.
Sur notre QA machine, sous ... "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET les Fichiers"
J'ai fait un fichier de recherche de l'explorateur pour le nom de fichier partiel de ce que nous essayons de libération. Le fichier a été trouvé dans un dossier quelque chose comme:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\4503212x\ad95664x, donc j'ai arrêté d'application de la piscine, supprimé le dossier, redémarré et a été déployé puis - grand!
Mais .... On avait même de la difficulté à déployer à la production et à la ci-dessus ne fonctionne pas.
Longue histoire courte, l'assurance de la qualité d'application de la piscine a été réglé sur "activer 32 bit true", mais la production a été fixé à "False" si la prod fichiers temporaires résidé dans:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319" au lieu (\Framework64\ au lieu de \Framework\ ).
Si le fait d'effacer les fichiers temporaires ne fonctionne pas - vérifiez vos cadres, ou de chercher les fichiers à rafraîchir à la C:\Windows\Microsoft.NET niveau de dossier et ci-dessous. vous pourriez être surpris.
OriginalL'auteur Tom A
Vous n'avez pas à arrêter IIS pour déployer la mise à jour, vous venez de copier sur.
Aussi, si ils ont copié seulement la DLL, mais votre correctif a été dans le .fichier aspx, puis il ne sera pas affiché. Vous devriez vraiment faire un déploiement complet.
Cela ne fonctionne pas pour un nombre étonnamment élevé de cas. Il dépend de la façon dont l'application a été développée. IIS met en cache des fichiers et parfois, il nécessite de souffler le fichier temp.
OriginalL'auteur Blindy