asp.net-mvc - how - the attribute version in element packagereference is unrecognized




O namespace XML padrão do projeto deve ser o namespace MSBuild XML (4)

@ Resposta de DavidG está correta, mas eu gostaria de acrescentar que se você está construindo a partir da linha de comando, a solução equivalente é certificar-se de que você está usando a versão apropriada do msbuild (neste caso particular, ele precisa ser versão 15).

Executar msbuild /? para ver qual versão você está usando ou where msbuild para verificar de qual local o ambiente tira o executável e atualizar (ou apontar para o local correto) as ferramentas, se necessário.

Baixe a ferramenta mais recente do MSBuild here .

Eu clonei o ASP.NET Core SignalR Repo localmente e tente abrir a solução a partir do ambiente a seguir.

IDE

Microsoft Visual Studio Enterprise 2015
Version 14.0.25431.01 Update 3
Microsoft .NET Framework
Version 4.6.01055

CLI DOT NET

λ dotnet --info
.NET Command Line Tools (1.0.0-preview2-1-003177)

Product Information:
 Version:            1.0.0-preview2-1-003177
 Commit SHA-1 hash:  a2df9c2576

Runtime Environment:
 OS Name:     Windows
 OS Version:  6.1.7601
 OS Platform: Windows
 RID:         win7-x64

Acabo vendo muitos desses tipos de mensagens de erro:

..\Repos\SignalR\src\Microsoft.AspNetCore.SignalR\Microsoft.AspNetCore.SignalR.csproj : erro: O namespace XML padrão do projeto deve ser o namespace MSBuild XML. Se o projeto é criado no formato MSBuild 2003, adicione xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ao elemento. Se o projeto foi criado no antigo formato 1.0 ou 1.2, converta-o para o formato MSBuild 2003. ..\Repos\SignalR\src\Microsoft.AspNetCore.SignalR\Microsoft.AspNetCore.SignalR.csproj

Eu quero saber como corrigir isso da maneira correta.


Eu estava recebendo as mesmas mensagens enquanto eu estava executando apenas msbuild do powershell.

dotnet msbuild "./project.csproj" funcionou para mim.


Os projetos que você está tentando abrir estão no novo formato csproj do .Net Core. Isso significa que você precisa usar o Visual Studio 2017, que suporta esse novo formato.

Para um pouco de história, inicialmente o .Net Core usou project.json vez de *.csproj . No entanto, após algumas deliberações internas consideráveis ​​na Microsoft, eles decidiram voltar ao csproj mas com um formato muito mais limpo e atualizado. No entanto, esse novo formato é suportado apenas no VS2017.

Se você deseja abrir os projetos, mas não quer esperar até 7 de março para a versão oficial do VS2017, você pode usar o Visual Studio Code.


Se você receber esse erro ao tentar criar o aplicativo .Net Core 2.0 no VSTS, certifique-se de que sua definição de compilação esteja usando a fila do Hosted VS2017 Agent.