Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET Core bağımsız uygulama dağıtımları hem .NET Core kitaplıklarını hem de .NET Core çalışma zamanını içerir. .NET Core 2.1 SDK'sı (sürüm 2.1.300) ile başlayarak, bağımsız uygulama dağıtımı makinenizde en yüksek düzeltme eki çalışma zamanını yayımlar. Varsayılan olarak, dotnet publish bağımsız dağıtım için yayımlama makinesinde SDK'nın parçası olarak yüklenen en son sürümü seçer. Bu, dağıtılan uygulamanızın publish sırasında kullanılabilen güvenlik düzeltmeleri (ve diğer düzeltmeler) ile çalışmasını sağlar. Yeni bir düzeltme eki almak için uygulamanın yeniden yayımlanması gerekir. Bağımsız uygulamalar, komutta -r <RID> belirtilerek dotnet publish veya proje dosyasında (csproj / vbproj) veya komut satırında çalışma zamanı tanımlayıcısı (RID) belirtilerek oluşturulur.
Sürüm düzeltme ekini ilerletmeye genel bakış
restoreve buildpublish ayrı olarak çalışabilen komutlardır dotnet . Çalışma zamanı seçimi, restore veya publish değil, build işlemin bir parçasıdır.
publish çağrısı yaparsanız, en son düzeltme eki sürümü seçilir.
publish bağımsız değişkeniyle --no-restore çağırırsanız, daha önceki bir restore yeni, kendinden kapsamlı uygulama yayımlama politikasıyla yürütülmemiş olabileceğinden, istenen düzeltme eki sürümünü alamayabilirsiniz. Bu durumda, aşağıdakine benzer metinlerle bir derleme hatası oluşturulur:
"Proje, Microsoft.NETCore.App sürüm 2.0.0 kullanılarak geri yüklendi, ancak geçerli ayarlarla bunun yerine sürüm 2.0.6 kullanılacaktı. Bu sorunu çözmek için, geri yükleme ve derleme veya yayımlama gibi sonraki işlemler için aynı ayarların kullanıldığından emin olun. Bu sorun genellikle RuntimeIdentifier özelliği derleme veya yayımlama sırasında ayarlandıysa ancak geri yükleme sırasında ayarlanmadıysa oluşabilir."
Uyarı
restore ve build gibi publishbaşka bir komutun parçası olarak örtük olarak çalıştırılabilir. Başka bir komutun parçası olarak örtük olarak çalıştırıldıklarında, doğru çıktılarının üretilmesi için ek bağlam sağlanır. Çalışma zamanıyla (örneğin, publish) kullandığınızdadotnet publish -r linux-x64, restore örtük olarak linux-x64 çalışma zamanı paketlerini geri yükler. Açıkça çağırırsanız restore , çalışma zamanı paketlerini varsayılan olarak geri yüklemez, çünkü bu bağlama sahip değildir.
Yayımlama sırasında geri yüklemeyi önleme
restore işlemin publish parçası olarak çalıştırılması, senaryonuz için istenmeyen bir durum olabilir. Kendi bünyesinde çalışan uygulamalar oluştururken restorepublish durumu oluşmasını önlemek için aşağıdakileri yapın:
-
RuntimeIdentifiersözelliğini, yayımlanacak tüm RID'lerin noktalı virgülle ayrılmış listesine ayarlayın. -
TargetLatestRuntimePatchözelliğinitrueolarak ayarlayın.
Dotnet publish seçenekleri arasında no-restore bağımsız değişkeni
Aynı proje dosyasıyla hem bağımsız uygulamalar hem de çerçeveye bağımlı uygulamalar oluşturmak istiyorsanız ve --no-restore bağımsız değişkeni dotnet publish ile kullanmayı planlıyorsanız, aşağıdakilerden birini seçin:
Çerçeveye bağımlı davranışı tercih edin. Uygulama çerçeveye bağımlıysa, bu varsayılan davranıştır. Uygulama bağımsızsa ve yamalanmamış bir 2.1.0 yerel çalışma zamanı kullanabiliyorsa,
TargetLatestRuntimePatchdeğerini proje dosyasındafalseolarak ayarlayın.Bağımsız davranışı tercih edin. Uygulama kendi içindeyse, bu varsayılan davranıştır. Uygulama çerçeveye bağımlıysa ve en son düzeltme ekinin yüklenmesini gerektiriyorsa, proje dosyasında
TargetLatestRuntimePatchdeğerinitrueolarak ayarlayın.Proje dosyasında
RuntimeFrameworkVersionöğesini belirli bir düzeltme eki sürümüne ayarlayarak çalışma zamanı çerçevesi sürümünü açıkça kontrol edin.