我在Visual Studio上有一个Website项目(不是Web应用程序)。我已经在NuGet中添加了几个库,所以在我的bin文件夹中我获得了刷新文件,NuGet创建了一个包文件夹,其中存储了实际的dll文件。
在我的开发环境中,我没有任何问题,一切正常;但是当我部署到生产服务器时,我收到了无法找到库的错误消息。
所以我一直在做的是从服务器中删除刷新文件并手动将dll添加到bin文件夹,但我的意思是说有刷新文件的重点是什么?或者仅在使用Web应用程序项目时才有效吗?
答案 0 :(得分:0)
重新压缩文件,如果你用文本编辑器打开它们,你会发现它们位于一个目录中,在那里他们将找到该库并将其与新版本进行比较。
因此,当您在计算机上安装一个库时,通常会使用一些安装的常用位置,然后在您的项目中,它们只是引用该库,如果您更新它(在您的计算机上)dll
bin
目录上的内容也已更新。
服务器不会发生这种情况,您需要在服务器上手动添加更新dll。并不会发生,因为您了解刷新文件只是查看本地计算机上的某个目录...
一个例子,你可以在垃圾箱上找到
HtmlAgilityPack.dll
HtmlAgilityPack.dll.refresh
并且在您阅读的HtmlAgilityPack.dll.refresh
内:
..\packages\HtmlAgilityPack.1.4.9\lib\Net45\HtmlAgilityPack.dll
这是本地机器参考,而不是服务器。