Pertanyaan Struktur folder MVC ASP.NET dan NuGet


Saya ingin struktur direktori khusus untuk Konten saya dalam proyek MVC saya misalnya:

\Content
    --\js
    --\css
    --\img

Apakah mungkin untuk memberi tahu paket NuGet untuk menginstal skrip di folder Konten \ js? Misalnya paket jQuery sehingga file jquery-1.6.js dipasang di folder Content \ js?


32
2018-06-23 07:48


asal


Jawaban:


Saya percaya jawabannya adalah "Tidak." Namun demikian, beberapa referensi untuk dapat mengatur folder root NuGet menginstal sesuatu ke: http://nuget.codeplex.com/workitem/215 (lihat komentarnya)


6
2018-06-23 19:58



Solusi adalah menggunakan Nuget Package Explorer dan unduh paket yang Anda inginkan. Anda kemudian dapat mengedit folder dalam paket menggunakan Paket Explorer untuk menyesuaikan selera Anda dan menyimpannya ke dalam penyimpanan Nuget Anda sendiri. Ini bisa berupa folder sistem file atau Anda bisa menjadi lebih canggih di sini: Hosting Umpan NuGet Anda Sendiri.

Tentu saja ini berarti Anda harus menyimpan paket-paket di repositori pribadi Anda up to date. Jelas jika Anda memiliki banyak paket untuk menangani ini bisa menjadi masalah. Namun tampaknya sangat mungkin bahwa rilis Nuget yang akan datang akan menangani masalah umpan lokal karena ini adalah masalah bagi perusahaan yang 'membatasi pustaka pihak ketiga yang mungkin digunakan pengembang' sebagaimana disebutkan dalam Hosting umpan NuGet Anda sendiri referensi di atas.


13
2017-11-10 13:29



Bagaimana jQuery terinstal ditentukan oleh produser paket, yang merupakan tim jQuery dalam kasus Anda. Di mana paket jQuery terinstal terserah Anda.

Namun, itu dimana hanya dapat disesuaikan dengan ketentuan lokasi paket yang diinstal ($(SolutionDir)\packages folder adalah default), dan proyek target di mana Anda menginstalnya. Mulai saat itu, produser paket mengambil alih dan memutuskan di mana setiap bagian dari paket konten berakhir.

Ada beberapa konvensi yang baik untuk ASP.NET MVC, seperti folder Konten, folder Skrip, folder App_Start (untuk WebActivator), dll. Pikirkan tentang risiko dan usaha ekstra yang terlibat untuk mencoba menjauh dari konvensi ini. Apakah mereka melebihi manfaatnya?

Sekarang jika Anda benar-benar ingin menggunakan konvensi Anda sendiri, Anda dapat membuat paket Anda sendiri dengan struktur konten yang Anda inginkan dan meletakkan skrip jQuery di mana Anda menginginkannya dalam proyek-proyek konsumsi.

Ini berarti Anda akan menggunakan Anda sendiri paket dengan versi jQuery tertentu. Anda hanya harus berhati-hati untuk menghormati kebijakan perizinan dari paket asli, dan tidak melanggar langkah instalasi khusus atau persyaratan dari paket asli, yang cukup mudah dilakukan jika Anda secara manual mulai mengubah struktur paket.


3
2017-11-10 18:27



Jawaban untuk ini adalah "tidak" karena folder "Konten" adalah salah satu folder konvensi Nuget. Namun, jika Anda mengganti nama Anda Content folder ke, misalnya, public dan kemudian memiliki Nuget pak Anda public/js folder kemudian ketika Anda membawa paket di dalamnya akan mengekstrak file ke file public/jsmap.

Sejak saya mulai menggunakan Nuget saya beralih menggunakan public untuk konten publik saya, bukan Content dan lebih suka digunakan Content untuk file yang ingin saya bawa tanpa tersentuh seperti file sumber (lihat di sini satu penggunaan Konten).


0
2017-08-01 14:06