Azure网站部署失败-发现同一从属程序集的不同版本之间存在冲突

时间:2019-02-26 04:27:07

标签: asp.net asp.net-mvc azure-web-sites kudu

我的azure网站部署失败。一切在我的本地计算机上都运行良好:在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:构建/ t:pipelinePreDeployCopyAllFilesToOneFolder / p:_PackageTempDir =“ D:\ local \ Temp \ 8d69b9dee0afc5a”; AutoParameterizationWebConfigConnectionStrings = false;配置=发布; UseSharedCompilation = false / p:SolutionDir =“ D:\ home \ site \ repository。\“ 网站部署期间发生错误。 \ r \ nD:\ Program Files(x86)\ SiteExtensions \ Kudu \ 79.20129.3767 \ bin \ Scripts \ starter.cmd“ D:\ home \ site \ deployments \ tools \ deploy.cmd”

我如何在Kudu或Azure网站环境中看到此生成日志并修复这些错误?我显然缺少了一些东西。背景是我更新了很多nuget程序包,该站点现在在部署时中断了,我还不太清楚如何解决它。

3 个答案:

答案 0 :(得分:0)

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

我相信,如果您有权访问构建代理并登录到VM并尝试调试cmd文件,则必须使用某些构建代理来运行构建。

此外,在大多数情况下,请复制并在您的Agent VM中安装和安装相同的环境,这是构建失败的原因。

希望有帮助。

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

它想说的是什么

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