c# - Web 部署发布错误版本的程序集

标签 c# visual-studio deployment webdeploy

我有一个依赖于 System.Web.Http.WebHost 的 Web API 项目,在我的项目中,我在该引用上设置了 Copy Local = True,并且版本(在本例中) 是 5.2.3.0。

当我通过网络部署将项目发布到服务器时,发布了该程序集的旧版本 (5.2.2.x)。这似乎只影响某些人在他们发布时而不影响其他人。

我们在其他项目的其他程序集中遇到了同样的问题,所以这只是一个例子。我可以将受影响的程序集添加到服务器的 GAC 或其他东西,这样它就不会在受到如此影响的用户发布时死掉,但我想知道这种情况是如何发生的以及如何避免。

最佳答案

在我的例子中,我发现部署了错误版本的 Autofac,即使在本地运行时引用了正确的版本并将其放入 bin 文件夹中。我重新安装了 NuGet 包,但仍然没有用。

最终,我发现 obj\Release\Package\PackageTmp\bin 目录(在项目目录中)包含过时的版本,而我所做的任何操作都不会导致它更新。只需删除目录并让它重新生成即可解决问题。

关于c# - Web 部署发布错误版本的程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32657241/

相关文章:

c# - 将变量转换为仅在运行时已知的类型?

C#:System.Net.Sockets.TcpListener 有时没有正确关闭套接字

c# - 如何反序列化然后将数据放入表格?

c# - 如何加入两个字典集合linq查询

c++ - 无法在 visual studio 2008 中打开 qt 项目文件

c# - 多语言应用程序工具包 .xlf 文件在构建期间未更新

python - 错误 : No module named staticfiles

caching - 启用缓存后如何持续部署 Web 应用程序?

java - 在部署到 tomcat 之前(或期间)如何管理 .war 文件中的库版本?

visual-studio - Visual Studio 2017 无法识别 Ctrl + Shift + L