我有一个依赖于System.Web.Http.WebHost
的Web API项目,在我的项目中,我在该引用上设置了Copy Local = True,版本(在本例中)是5.2.3.0。
当我通过Web部署将项目发布到服务器时,会发布此程序集的旧版本(5.2.2.x)。这似乎只影响某些人在发表时而非其他人。
我们与其他项目中的其他程序集遇到了同样的问题,因此这只是一个例子。我可以将受影响的程序集添加到服务器的GAC中,以便在受到影响的用户发布时不会死亡,但我想知道这是如何发生的以及如何避免
答案 0 :(得分:13)
在我的情况下,我发现正在部署错误版本的Autofac,即使引用了正确的版本并在本地运行时放入bin文件夹。我重新安装了NuGet包,即使这样也行不通。
最终,我发现obj\Release\Package\PackageTmp\bin
目录(在项目目录中)包含了过时的版本,我所做的任何事都不会导致它更新。只需删除目录并让它重新生成即可解决问题。