Aws-lambda-dotnet: Kesalahan saat menyebarkan saat mereferensikan perpustakaan .NET Standard

Dibuat pada 2 Sep 2017  ·  5Komentar  ·  Sumber: aws/aws-lambda-dotnet

Saya baru-baru ini menemukan bahwa jika saya menambahkan referensi ke proyek yang menargetkan .NET Standard 1.4 ke proyek tanpa server saya, saya mendapatkan kesalahan berikut pada dotnet lambda deploy-serverless :

Error: Project is referencing NETStandard.Library version 1.6.1. Max version supported by netcoreapp1.0 is 1.6.0.
Error: NETStandard.Library 1.6.1 is used for target framework netcoreapp1.1.
Error: Check the following dependencies for versions compatible with netcoreapp1.0:
Error:  amazon.lambda.apigatewayevents : 1.1.0
Error:  amazon.lambda.serialization.json : 1.1.0
Error:  testclasslibrary : 1.0.0

Untuk mereproduksi. Dari Visual Studio 2017 (pembaruan terbaru diinstal):

  • File -> Proyek Baru
  • Pilih Aplikasi Tanpa Server AWS (.NET Core)
  • Pilih apa saja untuk cetak birunya. Saya memilih API blog
  • Dari direktori proyek

    • pemulihan dotnet

    • membangun dotnet

    • dotnet lambda menyebarkan-tanpa server

  • Perhatikan bahwa penerapan berfungsi
  • Klik kanan pada solusi di VS. Tambahkan perpustakaan kelas standar .NET
  • Ubah penargetan perpustakaan ke .NET Standard 1.4
  • Di Solution Explorer, klik kanan pada Dependencies di bawah aplikasi tanpa server
  • Tambahkan referensi proyek ke perpustakaan kelas
  • File -> Simpan Semua
  • Dari direktori proyek

    • pemulihan dotnet

    • membangun dotnet

    • dotnet lambda menyebarkan-tanpa server

  • Perhatikan bahwa penerapan gagal
guidance

Komentar yang paling membantu

Dalam file csproj Anda untuk perpustakaan kelas dapat menambahkan berikut ini sebagai saudara ke TargetFramework untuk memaksa referensi implisit NETStandard.Library menjadi 1.6.0.

<NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>

Semua 5 komentar

Kebetulan, ini tampaknya terjadi terlepas dari versi .NET Standard mana yang Anda targetkan di perpustakaan kelas.

Dalam file csproj Anda untuk perpustakaan kelas dapat menambahkan berikut ini sebagai saudara ke TargetFramework untuk memaksa referensi implisit NETStandard.Library menjadi 1.6.0.

<NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>

Menutup karena saya yakin komentar terakhir saya akan membuka blokir Anda. Jika tidak merasa bebas untuk membuka kembali.

Itu berhasil. Terima kasih.

terima kasih @normj - tag itu berhasil!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat