Nancy: Não é possível compilar .NET Standard lib referenciando Nancy 2.0.0

Criado em 8 dez. 2016  ·  5Comentários  ·  Fonte: NancyFx/Nancy

Estou usando o Visual Studio 2015 Update 3 e tenho uma biblioteca de classes portátil *.csproj definida para direcionar .NETStandard1.x .

Para poder referenciar o pacote nuget Nancy 2.0.0-barneyrubble, preciso atualizar a biblioteca de classes portátil para .NETStandard1.6 . No entanto, isso torna o projeto impossível de construir.

Qualquer tentativa de compilar no Visual Studio ou usando msbuild relata este erro:

Seu projeto não está fazendo referência à estrutura ".NETPlatform,Version=v5.0". Adicione uma referência a ".NETPlatform,Version=v5.0" na seção "frameworks" do seu project.json e execute novamente a restauração do NuGet.

Aqui está o arquivo project.json :

{
  "supports": {},
  "dependencies": {
    "Microsoft.AspNetCore.Owin": "1.1.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1",
    "Nancy": "2.0.0-Pre0",
    "NETStandard.Library": "1.6.1"
  },
  "frameworks": {
    "netstandard1.6": {}
  }
}

Construir o projeto com dotnet restore e dotnet build a partir da linha de comando funciona, no entanto.

Eu sei que esse problema não é específico de Nancy. No entanto, eu adoraria saber se alguém encontrou uma solução alternativa para esse problema. Ou se for possível usar uma versão inferior do .NET Standard ao compilar o próprio Nancy?

Comentários muito úteis

Eu escrevi um post no blog sobre o assunto , apenas no caso.

Todos 5 comentários

Não acho que apenas usar o Visual Studio 2015 Update 3 seja suficiente. As ferramentas dotnet/web para o Visual Studio são fornecidas fora de banda, portanto, você precisa obter a versão mais recente disso aqui .

@khellang Eu já havia instalado as ferramentas do .NET Core (linha de comando e integração do Visual Studio 2015). E posso construir bibliotecas de classe .NET Standard 1.3 com prazer. É só que eu preciso de 1.6 para poder referenciar Nancy. E isso não vai construir.

Hmm. Você já olhou para isso ?

Obrigado - de fato, adicionar isso ao final do arquivo *.csproj fez o truque:

<PropertyGroup>
  <NuGetTargetMoniker>.NETStandard,Version=v1.6</NuGetTargetMoniker>
</PropertyGroup>

Eu escrevi um post no blog sobre o assunto , apenas no caso.

Esta página foi útil?
0 / 5 - 0 avaliações