Waktunya telah tiba untuk berpindah dari format *.csproj
dan project.json
format *.csproj
yang baru dan lebih baik yang didukung oleh Visual Studio 2017 dan Visual Studio Code
Langkah-langkah berikut harus dilakukan pada setiap repositori:
dotnet migrate
(termasuk menambahkan proyek yang hilang dan memverifikasi semua pengujian) (@thecodejunkie)Directory.build.props
dan perbarui semua file * .csproj
(lihat MiniProfiler untuk contoh)DisableImplicitFrameworkReferences
ke semua *.csproj
untuk pembangunan full-framework (lihat OwinHttpMessageHandler untuk contoh)netstandard1.3
lagi (perlu memperbarui build.cake
untuk mencerminkan ini, yaitu semua referensi netstandard1.6
)build.cake
untuk mendukung berjalan di Mono dengan SDK proyek baru ( @akoeplinger mengonfirmasi bahwa xbuild
tidak lagi dapat membuat format proyek baru di mono`)xunit 2.2.0
dan xunit.runners.visualstudio 2.2.0
DisableImplicitPackgeReference
dan setel ke trueNETStandard.Library v1.6.1
NETStandard.Library
Satu-satunya proyek Nancy.Demo.*
yang di-porting ke project.json
adalah proyek Nancy.Demo.Hosting.Kestrel
baru. Karena itu, semua proyek demo lainnya berakhir dengan sangat membengkak *.csproj
file setelah dotnet migrate
telah dijalankan pada proyek-proyek. Kita perlu membersihkannya dan membuatnya menggunakan format baru yang lebih ringan
http://rehansaeed.com/cleaning-up-csproj/
Selidiki menggunakan satu permintaan MSBuild untuk mempercepat waktu eksekusi. Lihat contoh https://Gist.github.com/dasMulli/69f5303aa79a8cd4060e44891c90fd2d yang disarankan oleh @dasmulli
Karena kita tidak lagi dapat menggunakan xbuild
untuk membangun menggunakan Mono di *nix, kita harus menggunakan FrameworkPathOverride
dan didefinisikan di https://github.com/dotnet/netcorecli- fsc/wiki/.NET-Core-SDK-rc4#using -net-framework-as-targets-framework-the-osxunix-build-fails yaitu kita perlu memperbarui build.sh
untuk memasukkan
export FrameworkPathOverride=$(dirname $(which mono))/../lib/mono/4.5/
Perlu menunjuk ke 4.5
karena bagaimana Mono dibentuk untuk menyimpan artefak mereka http://www.mono-project.com/docs/about-mono/releases/4.4.0/#class -libraries
Catatan: Folder
4.5
berisi rakitan aktual yang digunakan selama runtime. Kami sedang mempertimbangkan rakitan terbaru ini mulai sekarang, yaitu sekarang mereka menerapkan .NET 4.6.1. Sayangnya, kami tidak dapat mengganti nama folder ini karena terlalu banyak aplikasi dan perpustakaan yang memeriksa jalur ini secara hardcode.
Kita harus melalui semua repositori dan memigrasikannya + memperbarui skrip build
Ini terlihat seperti sebuah epik
@thecodejunkie Jika Anda dapat mengarahkan saya ke cabang tempat Anda telah melakukannya, saya dapat membantu.
@Sphiecoh Saat ini saya sedang menjelajahi sedikit di mesin saya untuk mendapatkan ide tentang apa yang ingin kami lakukan dan bagaimana kami melakukannya. Setelah saya menyelesaikan semua itu, maka saya akan menyelesaikan repo Nancy utama dan kemudian kami dapat mengambil bantuan komunitas untuk repositori yang tersisa. 👍
@cemremengu Saya menggunakan ini sebagai dump otak semi-terstruktur dari hal-hal yang dapat saya pikirkan atau temukan saat mengerjakan ini
Komentar yang paling membantu
Ini terlihat seperti sebuah epik