Estou usando o VS 2015.
Seu projeto não está fazendo referência à estrutura ".NETFramework, Version = 4.5". Adicione uma referência a ".NETFramework, Version = 4.5" na seção "frameworks" de seu project.json e execute novamente a restauração do NuGet.
Estou recebendo este erro em minhas camadas de acesso a dados e lógica de negócios, logo após adicionar à minha camada MVC. As coisas estavam indo bem até então, mas não sei o que desencadeou esse erro. Aqui está meu project.json:
{
"version": "1.0.0-*",
"description": "foo bar Class Library",
"authors": [ "foo bar" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"net451": { },
"dotnet5.4": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
}
}
Aqui está o que tentei:
- Substituindo "dotnet5.4" por "net451" (e excluindo-o) conforme encontrado nesta resposta .
O resultado é o mesmo erro.
- Substituindo "dotnet5.4" por "net45" e deixando o "net451". Isso resulta em um novo erro:
Seu project.json não tem uma seção de tempos de execução. Você deve adicionar '"runtimes": {"win": {}}' ao seu project.json e, em seguida, executar novamente a restauração do NuGet.
Tentei fazer como este erro sugeriu e adicionar
"runtimes": {
"win": {}
},
Isso me deu este erro, que não consigo superar:
Seu project.json não lista 'win' como um tempo de execução direcionado. Você deve adicionar '"win": {}' dentro da seção "runtimes" em seu project.json e, em seguida, executar novamente a restauração do NuGet.
Já acrescentei "vitória", e isso está começando a parecer um arenque vermelho. O que estou fazendo alterando o project.json diretamente, o NuGet não está cuidando disso?
fonte
Respostas:
Na verdade, acabei de descobrir o problema. Acabei clicando no
Restore Nuget Packages
nível da solução e consegui compilar meuPCL
arquivo e depois o resto da minha solução.Espero que isto ajude.
fonte
Tive o mesmo problema, e acabei tendo que não só deletar o conteúdo das pastas
bin
eobj
, mas também o.vs
diretório da solução.fonte
Eu tive o mesmo problema - isso ocorre ainda usando o Visual Studio 2017.3, que usa arquivos .csproj em vez de project.json. Curiosamente, a mensagem de erro ainda contém o texto "project.json".
Parece que a causa deste problema é um arquivo de bloqueio ou
obj\project.assets.json
arquivo (dependendo da sua versão do VS) de uma compilação anterior, que não é removido durante uma limpeza, conforme descrito aqui .A exclusão manual do
/obj
diretório é uma solução alternativa rápida.Se você tiver um projeto "novo" (por exemplo, .NET Core ou projeto netstandard criado no VS 2017) e um projeto "antigo" no mesmo diretório (por exemplo, projeto .NET 4.6 criado no VS 2015), parece que eles vão lutar continuamente porque ambos usam o
./obj
dir de maneiras diferentes. Mais informações aqui. .A solução alternativa do msbuild é fazer um de seus projetos usar um
obj
diretório diferente . Eu adicionei isso ao meu "antigo" csproj:fonte
Descobri que um project.lock.json desonesto estava causando esse problema para mim. Depois de excluir o arquivo, o problema foi embora.
Aqui está alguma documentação sobre project.lock.json.
Outro conselho seria garantir que project.lock.json seja ignorado em seu arquivo git ignore e tentar um git clean completo. Certifique-se de entender as implicações de uma limpeza do Git antes de fazer isso.
fonte
Tive o mesmo problema após atualizar para o Visual Studio para Mac 7.4 (compilação 1033):
Não tenho nenhum arquivo de projeto json. As dicas aqui também não ajudaram, então eu tive que descobrir da maneira mais difícil que eu tive que instalar o SDK do Android mais recente (Oreo 8.1), além do meu SDK de destino (Nougat 7.1).
fonte
Tenho o mesmo problema, mas resolvi adicionando o recurso de pacote nugget adequado no
vs2017-->tools-->options-->Nugetpacakge manager--->updated
URL do pacote adequado.Consulte a imagem abaixo
fonte