Eu clonei o ASP.NET Core SignalR Repo localmente e tente abrir a solução no ambiente a seguir.
IDE
Microsoft Visual Studio Enterprise 2015
Version 14.0.25431.01 Update 3
Microsoft .NET Framework
Version 4.6.01055
DOT NET CLI
λ 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
: error: O espaço para nome XML padrão do projeto deve ser o espaço para nome XML do MSBuild. Se o projeto for criado no formato MSBuild 2003, adicionexmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ao elemento Se o projeto foi criado no formato 1.0 ou 1.2 antigo, 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.
asp.net-mvc
asp.net-core
visual-studio-2015
msbuild
.net-core
David Pine
fonte
fonte
Respostas:
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 foi usado em
project.json
vez de*.csproj
. No entanto, após algumas considerações internas da Microsoft, eles decidiram voltar,csproj
mas com um formato muito mais limpo e atualizado. No entanto, esse novo formato é suportado apenas no VS2017.Se você quiser abrir os projetos, mas não querem esperar até sétimo março th para o lançamento oficial VS2017, você pode usar Visual Studio em vez Código.
fonte
Eu deparei com esse problema ao abrir o Service Fabric GettingStartedApplication no Visual Studio 2015. A solução original foi criada no .NET Core no VS 2017 e recebi o mesmo erro ao abrir em 2015.
Aqui estão as etapas que segui para resolver o problema.
Vi a seguinte linha na tag Project:
<Project Sdk="Microsoft.NET.Sdk.Web" >
Siga as instruções mostradas na mensagem de erro para adicionar
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
a esta tagAgora deve parecer com:
Viu que nenhum elemento tinha um atributo de atualização como abaixo:
Comentou isso como abaixo.
Sobre o próximo erro: A versão na Referência do Pacote não é reconhecida
Vi que a versão existe no csproj xml como abaixo (linhas adicionais PackageReference removidas por questões de brevidade)
Removido o atributo Versão
Agora, recebo o seguinte:
Bingo! A atualização visual unidirecional do Studio começou! Vamos VS fazer a mágica!
O Projeto foi carregado, mas com erros de referência da lib.
Corrigidos os erros da biblioteca de referência individualmente, removendo e substituindo no NuGet para que o projeto funcione!
Espero que isso ajude outro viajante de código :-D
fonte
A resposta de @ DavidG está correta, mas eu gostaria de acrescentar que, se você estiver construindo a partir da linha de comando, a solução equivalente é garantir que você esteja usando a versão apropriada do
msbuild
(neste caso em particular, ele precisará ser a versão 15)Corra
msbuild /?
para ver qual versão você está usando ouwhere msbuild
para verificar em qual local o ambiente extrai o executável e atualize (ou aponte para o local correto) as ferramentas, se necessário.Faça o download da ferramenta mais recente do MSBuild aqui .
fonte
Se você receber esse erro ao tentar criar o aplicativo .Net Core 2.0 no VSTS, verifique se a definição de compilação está usando a
Hosted VS2017
fila do Agente.fonte
Eu estava recebendo as mesmas mensagens enquanto estava executando apenas o msbuild do powershell.
dotnet msbuild "./project.csproj"
trabalhou para mim.fonte
se o projeto não é grande,
1- alterar o nome do projeto da pasta
2- criar um novo projeto com o mesmo projeto (antes de renomear)
3- adicione arquivos existentes do projeto antigo ao novo projeto (totalmente iguais, mesmas pastas, mesmos nomes, ...)
4- abra o novo arquivo de projeto (como xml) e o projeto antigo
5- copie o novo arquivo de projeto (conteúdo xml) e cole-o no arquivo de projeto antigo
6- excluir o projeto antigo
7- renomeie o projeto da pasta antiga para o nome antigo
fonte