Развертывание Azure: ошибка MSB4041: пространством имен XML проекта по умолчанию должно быть пространство имен MSBuild XML - PullRequest
0 голосов
/ 30 октября 2019

Я постоянно развертываю свое веб-приложение Azure в обычном режиме (с помощью сообщества Visual Studio 2019), но теперь получаю следующую ошибку.

(Кроме того, я уже видел этот вопрос: Пространство имен XML проекта по умолчанию должно быть пространством имен MSBuild XML , но я получаю эту ошибку только в журналах вЦентр развертывания моего веб-приложения Azure, и этот вопрос относится к Visual Studio 2017.)

"WebApp" - это название решения:

D:\home\site\repository\packages\EntityFramework.6.3.0\build\EntityFramework.props(1,1): error MSB4041: The default XML namespace of the project must be the MSBuild XML namespace. If the project is authored in the MSBuild 2003 format, please add xmlns="http://schemas.microsoft.com/developer/msbuild/2003" to the <Project> element. If the project has been authored in the old 1.0 or 1.2 format, please convert it to MSBuild 2003 format. [D:\home\site\repository\WebApp.WebUI\WebApp.WebUI.csproj] Failed exitCode=1, command="D:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" "D:\home\site\repository\WebApp.WebUI\WebApp.WebUI.csproj" /nologo /verbosity:m /t:Build /t:pipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="D:\local\Temp\8d75ccda63e5816";AutoParameterizationWebConfigConnectionStrings=false;Configuration=Release;UseSharedCompilation=false /p:SolutionDir="D:\home\site\repository\.\\" An error has occurred during web site deployment. \r\nD:\Program Files (x86)\SiteExtensions\Kudu\84.10924.4104\bin\Scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd"

Вотначало моего файла WebApp.WebUI.csproj:

<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="..\packages\EntityFramework.6.3.0\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.3.0\build\EntityFramework.props')" /> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />

ОБНОВЛЕНИЕ: Я опустился до Entity Framework 6.2.0. Это сейчас работает, но это не очень хорошее решение. Проблема в пакете Entity Framework 6.3.0 и / или в том, как он взаимодействует с моей текущей конфигурацией.

Ответы [ 3 ]

1 голос
/ 31 октября 2019

Я думаю, что эта проблема как-то связана с версией msbuild. Я погуглил некоторые похожие проблемы и обнаружил, что для EF6.3 требуется как минимум VS2017 и выше. И если мы будем использовать msbuild 14.0 (VS2015) для создания веб-проекта, использующего EF6.3, мы получим такую ​​же ошибку, как эта:

enter image description here

Причина вашей проблемы:

И согласно вашему журналу (строка 7): Failed exitCode=1, command="D:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe", во время этого процесса используется msbuild 14.0 (msbuild VS2015). Я думаю, именно поэтому у вас есть эта странная ошибка.

1.Для решения этой проблемы на локальном компьютере нам нужно использовать VS2017 (msbuild15.0) или VS2019 (msbuild16.0)для создания этого проекта.

The path of msbuild 15.0: C:\Program Files (x86)\Microsoft Visual Studio\2017\xxx\MSBuild\15.0\Bin

The path of msbuild 16.0: C:\Program Files (x86)\Microsoft Visual Studio\2019\xxx\MSBuild\Current\Bin

2. Что касается поддержки msbuild для Azure: пожалуйста, отметьте эту проблему . Теперь Azure поддерживает инструменты сборки VS2017 (msbuild 15.0), пожалуйста, попробуйте там полезную информацию, чтобы настроить развертывание на использование msbuild 15.0.

Надеюсь, это поможет:)

1 голос
/ 30 октября 2019

Не могли бы вы попробовать изменить ваш узел проекта, как показано ниже, он работал для меня:

<Project Sdk="Microsoft.NET.Sdk" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

Дополнительная ссылка:

http://blog.codenova.pl/post/new-azure-functions-sdk-and-vsts-how-to-build-your-functions

Дайте мне знать, есливсе еще не работает для вас.

0 голосов
/ 04 ноября 2019

Если есть какой-либо способ узнать версию Visual Studio для развертывания Azure. Не локальная версия VS, а серверная, которая используется для создания проекта при развертывании в Azure. Я чувствую, что это ниже, чем в 2017 году.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...