【问题标题】:Azure websites deployment fail - found conflicts between different versions of the same dependent assemblyAzure 网站部署失败 - 发现同一依赖程序集的不同版本之间存在冲突
【发布时间】:2019-02-26 04:27:06
【问题描述】:

我的天蓝色网站部署失败。在我的本地机器上一切正常:当日志详细程度在 Visual Studio 的输出窗口中设置为详细时,我看不到任何问题或冲突。

但在尝试部署到 Azure 时,我不知道如何查看日志并修复 Kudu 中的以下错误:

命令:“D:\home\site\deployments\tools\deploy.cmd” 处理 .NET Web 应用程序部署。 MSBuild 自动检测:使用“D:\Program Files (x86)\MSBuild\14.0\bin\amd64”中的 msbuild 版本“14.0”。 packages.config 中列出的所有软件包都已安装。 MyProject.Broadbean -> D:\home\site\repository\MyProject.Broadbean\bin\Release\MyProject.Broadbean.dll MyProject.Domain -> D:\home\site\repository\MyProject.Domain\bin\Release\MyProject.Domain.dll MyProject.Mandrill -> D:\home\site\repository\Mandrill\bin\Release\MyProject.Mandrill.dll D:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1819,5):警告 MSB3277:发现同一依赖程序集的不同版本之间存在无法解决的冲突。当日志详细程度设置为详细时,这些引用冲突会列在构建日志中。 [D:\home\site\repository\MyProject.WebUI\MyProject.WebUI.csproj] D:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets(242,5):警告:未指定编译器日志,“清理”将不起作用。 [D:\home\site\repository\MyProject.WebUI\MyProject.WebUI.csproj] CSC:错误 CS1703:已导入具有等效标识的多个程序集:'D:\home\site\repository\packages\System.Xml.ReaderWriter.4.3.1\lib\net46\System.Xml.ReaderWriter.dll'和' D:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.6.1\Facades\System.Xml.ReaderWriter.dll'。删除重复引用之一。 [D:\home\site\repository\MyProject.WebUI\MyProject.WebUI.csproj] CSC:错误 CS1703:已导入具有等效标识的多个程序集:'D:\home\site\repository\packages\System.ComponentModel.Annotations.4.5.0\lib\net461\System.ComponentModel.Annotations.dll' 和' D:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.6.1\Facades\System.ComponentModel.Annotations.dll'。删除重复引用之一。 [D:\home\site\repository\MyProject.WebUI\MyProject.WebUI.csproj] 失败 exitCode=1, command="D:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" "D:\home\site\repository\MyProject.WebUI\MyProject.WebUI.csproj" /nologo /详细程度:m /t:Build /t:pipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="D:\local\Temp\8d69b9dee0afc5a";AutoParameterizationWebConfigConnectionStrings=false;Configuration=Release;UseSharedCompilation=false /p:SolutionDir="D:\home\site \存储库。\" 网站部署过程中发生错误。 \r\nD:\Program Files (x86)\SiteExtensions\Kudu\79.20129.3767\bin\Scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd"

如何在 Kudu 或 Azure 网站环境中查看此构建日志并修复这些错误?我显然错过了一些东西。背景是我更新了很多 nuget 包,站点现在在部署时中断,我不知道如何修复它。

【问题讨论】:

    标签: asp.net asp.net-mvc azure-web-app-service kudu


    【解决方案1】:

    修复“已导入具有相同标识的多个程序集。删除重复引用之一。”错误,我删除了这些程序集的引用。

    这让我可以部署。但是在部署时,由于不同程序集之间的冲突,我得到了错误屏幕。

    修复“发现无法解决的同一依赖程序集的不同版本之间的冲突”。冲突,我删除了 web.config 文件中有问题的程序集的绑定重定向。

    【讨论】:

      【解决方案2】:

      它想表达什么

      .net 框架本身具有 System.Xml.ReaderWriter.dll,因此您无需单独添加。 请从您的项目中删除对 System.Xml.ReaderWriter.dll 的任何引用。 同样,您必须为其他程序集执行此操作。

      【讨论】:

      • 这正是我所做的,它解决了问题。但是如何强制它使用我的 NuGet 包?
      • 我认为这是不可能的,因为您在 Azure 中使用共享服务器。
      【解决方案3】:

      请在您认为可能导致构建失败的每个步骤中使用登录来调试您的 deploy.cmd。 似乎由于项目中的 nuget 更新,同一依赖程序集的不同版本之间存在冲突。请查看您已升级的程序集并检查它们在您的项目中的兼容性。

      如果您有权访问构建代理并登录到 VM 并尝试调试您的 cmd 文件,我相信您一定是在使用某个构建代理运行您的构建。

      另外,请在代理虚拟机中复制和安装与本地相同的环境,大多数情况下,这是构建失败的原因。

      希望对你有帮助。

      【讨论】:

      • 我正在使用 azure 网站和在线视觉工作室的持续部署。如何查看构建日志中的冲突?哪里是?构建服务器是 kudu。
      • 老实说,这个答案根本没有帮助。
      猜你喜欢
      • 2013-05-22
      • 2010-09-06
      • 2010-12-24
      • 2014-06-26
      • 2018-12-07
      • 2014-01-25
      • 2014-09-06
      相关资源
      最近更新 更多