【发布时间】:2016-11-13 10:23:18
【问题描述】:
我们编写了一个要部署到 Azure 的服务。这由一个带有“Worker Role”类的 DLL 和一个 Azure 云服务项目组成,如下所示:
构建步骤是:
- 在“发布”配置中构建 ccproj。
- 运行 NuGet “spec”,然后“pack”以获取 .nupkg 文件
- 将 .nupkg 文件部署到 Azure 云服务
这已经有一段时间了,直到我们升级到 .NET 4.6.2 并升级了其他几个参考,包括 System.Runtime(现在是 v4.3.1)。现在,尽管我们(可能不必要地)为解决方案中的每个项目添加了 NuGet 引用,指向 System.Runtime 4.3.1,即获取的 System.Runtime.dll 版本部署的是旧版本,导致服务上的 DLL 地狱,然后无法运行。如果我们手动复制正确版本的 System.Runtime.dll,那么一切都会再次运行。
这个错误版本的 System.Runtime 来自哪里?我们如何说服违规的软件/硬件使用正确的版本?
更新:小径越来越暖和了。在我的开发机器上,EventWorker 项目的bin 文件夹包含正确版本的 System.Runtime.dll。但是...EventProcessor\obj\debug\EventWorker 文件夹包含旧版本!我删除了obj 文件夹并重新编译了项目 - 旧版本的 DLL 再次出现。
它来自哪里,如何解决?
【问题讨论】:
标签: c# azure nuget azure-cloud-services