2016-06-29 9 views
6

'daki bağımlılık türünün seçimi ve nasıl seçileceği "yapı" ve "platform" (ve belki başka bazı) bağımlılık türleri arasındaki farkın ne olduğu ve varsayılan türün ne olduğu hakkında bilgi bulamıyorum .Project.json

örnek olarak, ben Peki nasıl seçmek için

"Microsoft.Extensions.JsonParser.Sources": "1.0.0" 

veya

"Microsoft.Extensions.JsonParser.Sources": { 
    "type": "build", 
    "version": "1.0.0" 
}, 

veya

"Microsoft.Extensions.JsonParser.Sources": { 
    "type": "platform", 
    "version": "1.0.0" 
}, 

kullanarak bağımlılık ekleyebilirim? Official documentation bu konuda henüz bilgi içermiyor.

cevap

5

El ile bu dosyayı elle düzenlemekten kaçınmanızı öneririm, bu şekilde kendinizi çok fazla ilgilendirmekten kaçınılırsınız. Ayrıca, tümüyle kaldırmak için plans vardır - dependencies tanımlamak için artık bir project.json dosyayı kullanmayacaksınız. project.json arasında JSON SchemaStore definition göre, type anahtar gibi tanımlanır:

"type": { 
    "type": "string", 
    "default": "default", 
    "enum": [ "default", "build", "platform" ] 
  • inşa ancak projenin bina için gerekli olan bir bağımlılık =, build-time dependency

  • platform = projenizin target olarak yapılandırıldığı platformda bulunması beklenen bir bağımlılık. o bağımlılık üzerinde

türü "platformu" özelliği Yayınlama süresinde, takım yayınlanan çıkışının söz konusu bağımlılık için meclisleri yayınlamaya atlamak anlamına gelir.

Eğer dotnet repo ProjectReader.cs kaynağını incelerseniz bunu bir nesneye bu JSON serializes nasıl göreceğiz ve bu nesnede biz (yukarıda ayrıntıları) anlamını bulabilirsiniz.

Ek okuma

+0

"Biz şu çıkarabiliriz:" Eğer o kısmını bitirmek unuttunuz mu? – svick

+0

@svick, yep - Ben bunun üzerinde ... dikkatim dağıldı. –

0

dokümantasyon, sadece doğru yerde :)

Sen .NET Core App Types sayfada bulabilirsiniz bakmak gerekir (en azından platformu için) belirtiniz yok. Temel olarak "platform", onu yüklü çalışma zamanından kullanır ve uygulamayı yayınladığınızda/dağıtırken paketlenmez.

Temelde taşınabilir uygulamalar için "platform" ve kendi kendine yeten uygulamalar için tür yok.

İlgili konular