2015-10-08 1 views
0

J'ai un projet de site Web (pas une application Web) sur Visual Studio. J'ai ajouté quelques bibliothèques à NuGet, donc dans mon dossier bin j'ai eu les fichiers d'actualisation et NuGet a créé un dossier de paquets où les fichiers dll réels sont stockés.Comment utiliser Actualiser des fichiers dans un projet de site Web?

Dans mon environnement de développement je n'ai aucun problème et tout fonctionne bien; mais quand je déploie sur le serveur de production j'ai reçu le message d'erreur que les bibliothèques ne pouvaient pas être trouvées.

Donc, ce que j'ai fait est de supprimer les fichiers d'actualisation du serveur et ajouter manuellement la DLL dans le dossier bin, mais je veux dire, alors, quel est le point d'avoir les fichiers d'actualisation? ou cela fonctionne-t-il uniquement lorsque vous utilisez un projet d'application Web?

+0

duplication possible de [link] (http://stackoverflow.com/questions/2947017/reference-dll-not-copying-to-bin-with-deployment-project-causing-error) – Seabizkit

+0

Celle-ci est liée à un projet d'application web mine concerne un projet de site web. – roma8716

+0

Version 1.VS? 2. Version du framework (projet du site Web)/date de publication. 3. Peut-être inclure une capture d'écran de la méthode de déploiement. ou les fenêtres de sortie lors de la publication. 4. inclure tous les événements de post-construction – Seabizkit

Répondre

0

Les fichiers d'exclusion, si vous les ouvrez avec un éditeur de texte, vous voyez qu'ils ont dans un répertoire, où ils vont trouver la bibliothèque et la comparer avec une nouvelle version. Lorsque vous installez sur votre ordinateur une bibliothèque, utilisez généralement un emplacement commun installé, puis, dans vos projets, ils se réfèrent à cette bibliothèque et si vous la mettez à jour (sur votre ordinateur), le dll sur le bin le répertoire est également mis à jour.

Cela ne se produit pas pour le serveur, sur le serveur, vous devez ajouter manuellement les DLL de mise à jour sur votre bac. Et arrive pas parce que vous comprenez le fichier de rafraîchissement est il suffit de regarder un répertoire sur votre machine locale ...

Un exemple, sur le bac, vous pouvez trouver

HtmlAgilityPack.dll 
HtmlAgilityPack.dll.refresh 

et à l'intérieur du HtmlAgilityPack.dll.refresh vous lisez:

..\packages\HtmlAgilityPack.1.4.9\lib\Net45\HtmlAgilityPack.dll 

et ceci est pour la référence de machine locale, pas pour le serveur.

+0

Oui, j'ai également ajouté le dossier "packages" au projet sur le serveur sur le même chemin relatif. Mais à moins que j'ajoute la DLL dans le dossier bin, j'ai l'erreur. – roma8716