Eu tenho um aplicativo ASP.NET MVC 4 desenvolvido no VS 2012. O aplicativo consiste em um projeto principal (MyProject), um projeto de teste de unidade (MyProject.Tests), um projeto de implantação do Azure (MyProject.Azure) e alguns projetos de biblioteca de uso geral.
Quando clico com o botão direito do mouse na solução ou no projeto principal e seleciono Gerenciar pacotes NuGet, vejo várias atualizações da Microsoft que aparentemente foram disponibilizadas no mês passado. Se eu clicar no botão Atualizar tudo, as atualizações serão aparentemente instaladas sem problemas óbvios, mas quando crio a solução, recebo esta mensagem de erro DUAS VEZES:
warning : All projects referencing MyProject.csproj must install nuget package Microsoft.Bcl.Build
Ok, então eu tenho dois projetos que fazem referência a MyProject: MyProject.Tests e MyProject.Azure. Eu posso clicar com o botão direito em MyProject.Tests, selecionar ManageNuGet Packages e adicionar Microsoft.Bcl.Build. Isso elimina um dos dois avisos. Mas o VS não me dá a opção de gerenciar pacotes NuGet para o projeto MyProject.Azure .
Como adiciono o pacote Microsoft.Bcl.Build ao projeto de implantação do Azure?
EDITAR:
Graças ao usuário swell , agora sei que um problema do Microsoft Connect para esse problema foi aberto aqui .
fonte
Respostas:
Se você clicar duas vezes no aviso, obterá instruções para desativar o aviso.
É seguro desabilitar para referências de projetos de projetos que ainda não suportam Nuget.
Veja a parte abaixo em negrito copiada de Microsoft.Bcl.Build.targets.
BclBuildValidateNugetPackageReferences
Este destino pode ser desativado para uma referência de projeto definindo SkipValidatePackageReferences = true para a referência:
fonte
A resposta fornecida pelo TheESJ está correta, porém a redação não ficou clara para mim. Como não posso comentar a resposta, darei mais detalhes aqui. Especificamente, eu estava tendo esse problema com um projeto do Azure e a seguinte solução alternativa foi necessária para fazer o aviso desaparecer:
Ao clicar duas vezes no aviso no VisualStudio, você será levado ao destino BclBuildValidateNugetPackageReferences no arquivo Microsoft.BclBuild.targets. Acima do elemento de destino real, você deve encontrar um grande bloco de comentário que fala sobre como desabilitar as verificações de referência do projeto. Como os projetos do Azure não podem ter referências de biblioteca, é impossível para esses projetos do Azure atender aos requisitos desse destino de compilação específico.
A solução? Desative a verificação de referência do projeto do Azure, pois é impossível realmente adicionar uma referência de pacote nuget.
EXEMPLO
Portanto, suponha que temos dois projetos: MyAzureProject.ccproj que faz referência a MyProject.csproj . Siga esses passos:
Encontre a referência do projeto para "MyProject." Deve ser parecido com:
Adicione o seguinte elemento dentro do elemento ProjectReference:
A referência do seu projeto agora deve ser semelhante a:
Clique com o botão direito em "MyAzureProject" no Solution Explorer e escolha "Reload Project".
Agora você deve ser capaz de reconstruir e o erro deve ter desaparecido.
fonte
MyAzureProject.ccproj
vez deMyAzureProject.csproj
?Eu enfrentei o mesmo problema e estava tentando atualizar o Microsoft.Bcl.Build.targets; o que não ajudou.
Depois de alguma investigação descobriu que o arquivo .csproj do projeto de serviço do Azure deve ser modificado para incluir
<Properties>SkipValidatePackageReferences=true</Properties>
.Isso não ficou aparente na resposta de @TheESJ e então decidimos postar uma resposta separada. Agradecimentos a @TheESJ.
fonte
Eu encontrei esse problema várias vezes e o método Properties realmente funciona, mas ao lidar com um projeto Wix, tive que fazer o seguinte:
Quando usei o nó Propriedades Xml, recebi um novo erro:
fonte